1.相等操作符
(1)相等和不相等:符号 == ,!=。比较时会进行操作数转换,转换规则如下
- 布尔值转为数值,true为1,false为0
- 字符串转为数值
- 对象转为相对应的可操作的数值
- null和undefined是相等的,比较之间,不能将null和undefined转为其他任何值
- 操作数中有NaN,结果为NaN
-两个操作数都是对象,比较是否为同一个对象,是为true,否则为false
下面是一些特殊情况
表达式 | 值 | 表达式 | 值 |
---|---|---|---|
null == undefined | true | “NaN” == NaN | false |
5 == NaN | false | NaN==NaN | false |
false ==0 | true | NaN!=NaN | true |
true ==1 | true | true ==2 | false |
undefined ==0 | false | null==0 | false |
“1”==1 | true | “as”==1 | false |
(2)全等和不全等:符号===,!==。比较时不进行操作数转换
var s1 = ("55"==55); //true,"55"转为55
var s2 = ("55"===55); //false。不同的数据类型不相等
var s3 = (null==undefined); // true,他们是类似的值
var s4 = (null===undefined); // false,他们是不同的数据类型
2.条件操作符
符号:**? : **例如求两个数中的最大值
var max =( num1 > num2) ? num1 : num2
如果num1大于num2,返回true,将num1赋值给max,否则返回false,将num2赋值给max。
3.赋值操作符
符号:=
var s = 5
复合赋值运算符:
+=、-=,*=,/=,%=,<<=,>>+,>>>=
4.逗号操作符
语句中用于执行多个操作
赋值时,返回表达式中的最后一项
var s = (1,2,3,4,5) ; // 结果为5
欢迎大家一起讨论,进步!!!