经常有外行的朋友问我JavaScript和Java是不是一家的
JavaScript和Java的关系就像是雷锋和雷峰塔的关系,除了名字有点像,其他的没有任何关系,不要再问了,谢谢
好了,抖完机灵,开始说正事了。
一、JavaScript的简介
JavaScript一种解释型(解释型:从上往下一行一行的执行)的脚本语言(脚本语言:代码可以直接执行的、不需要编译的语言形式),是一种动态类型(允许在代码执行过程中修改一个变量中的数据类型)、弱类型(不限制一个变量可以保存的数据类型)、基于对象的语言、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。
二、JavaScript的书写位置
js的书写位置一共有四种
- 外链式js写法:推荐写法
<script src="tool.js"></script>``<script src="tool.js"></script>
- 内嵌式js写法
alert(100);
- 行内式js写法:不推荐使用,不利于html和js的分离
<div onclick="alert(300)">这是div</div>
- 使用javascript伪协议
<a href="javascript:alert(400);">这是a标签</a>
三、变量
1. 变量是什么
容器,用于存储数据。
2. 变量的作用
用于存储数据,让数据可以复用。
总的一句话,使用变量实际上就是使用内部保存的数据。
3. 变量的初始化操作
先声明,比如var num;
再赋值,num = 200;
也可以声明赋值一起做var num = 200;
4. 变量的命名规则规范
① 不能以数字开头,内部可以含有数字
② 不能使用js中的关键字和保留字
③ 严格区分大小写
④ 开头可以含有$和_
⑤ 建议命名有意义
⑥ 建议使用驼峰命名法
四、数据类型
1. 分类
五种基础类型:
① 数值类型----------number
② 字符串类型-------string
③ 布尔类型----------boolean
④ 未赋值------------undefined
⑤ 空------------------null
复杂数据类型:object
2. 检测方式
① typeof 用来检测数据类型的运算符。 //typeof null的结果为object,不准确
②instanceof:只要在当前实例的原型链上,用instanceof检测出来的结果都是true,所以在类的原型继承中,最后检测出来的结果未必是正确的
③constructor:constructor这个属性存在于构造函数的原型上,指向构造函数,对象可以通过__proto__在其所属类的原型上找到这个属性,但是有继承的话就不准确了
④Object.prototype.toString.call():是检测数据类型最准确最常用的方式。
先获取Object原型上的toString方法,让方法执行,并且改变方法中的this关键字的指向;Object.prototype.toString 返回当前方法的执行主体(this)所属类。
数组类型的检测方法和检测结果在小白三
3. 转换方式
五、运算符
-
一元运算符:参与运算的操作数只有一个,例如:num++,num–
扫描二维码关注公众号,回复: 4057926 查看本文章 -
算数运算符:+、-、*、/、%
-
比较运算符:>、<、>=、<=
-
相等运算符: == 和 != 比较数据的值,不比较类型。=== 和!== 进行全等比较
-
逻辑运算符:&&与,||或,!非
-
三元运算符:条件操作数 ? 操作数1 : 操作数2;
-
赋值运算符 =,+= ,-=,*=,/=,%=
以上运算符优先级依次递减