运算符
1.算术运算符
1. + - * / % --> 加 减 乘 除 取余
2. ++ -- 自增或自减运算符:表示在自身的基础上进行+1或-1操作
注意:1.字符串的+,表示拼接
2.数字字符串参与数学运算(- * / %),除加法以外,会自动转换数据类型,转换number后参与运算。转换number结果都为NaN,参与数学运算结果也为NaN。
3.null在做数学元素时,会转换为0
4.布尔类型的数据会自动转换为number 1或者0,参与数学运算。
5.只有变量能使用++ --,常量不能自增或自减
6.单独使用++ --与变量结合,做前缀或后缀没有区别,都是对变量进行+1或-1操作。
7.如果与其他运算符结合,前缀和后缀会对结果又影响
var r = a++; //先赋值,后自增
var r = ++a; //先自增,后赋值
2.关系运算符(比较运算符)
> >= < <= == != === !==
1.数字与数字之间的比较
2.字符串之间的比较
1.string与number之间进行关系运算:
自动将string转换为number,在进行比较
如果string无法转换为number,则进行NaN与number的比较,结果永远为false
2.string与string之间进行关系运算
字符串之间的比较,进行每位字符Unicode码的比较,如果当前为相同,就后移至下一位再进行比较,否则直接输出结果。
3.判断相等于恒等
== 判断相等,只进行值得比较,包含数据类型转换
===判断恒等,不允许数据类型转换,比较类型与值
判断相等时,会发生自动类型转换,最终结果相等,即为true
判断恒等,要求操作数数据类型一致,值相等,才返回true
4.判断不等和不恒等
!= 判断不等,两个操作数的值不相等时返回true
!== 判断不恒等,两个操作数类型与值之间只要有一项不同,都返回true
3.逻辑运算符
逻辑与:&& 逻辑或:|| 逻辑非: !
逻辑运算与关系运算的结果都为布尔类型,只有真和假
1.逻辑与
两个表达式同时为真,逻辑与运算的结果才为真。
2.逻辑或
两个表达式只要有一个为真,逻辑或运算结果就为真
3.逻辑非
非真即假。对表达式的结果进行取非操作
4. 三目运算符
语法 :条件表达式 ?表达式1 :表达式2;
先判断条件表达式的结果,为真,执行表达式1;为假,执行表达式2