算数表达式
算数运算符
- +:两边操作符都是数字才相加,其余情况都是连字符
-
-
- /
- %
隐式类型转换
如果参与数学运算的某操作数不是数字类型,会自动将此操作数转为数字类型(本质是在内部调用Number函数将对应的值转换成数字类型)
有关IEEE754
解决办法:在进行小数运算时,要调用数字的toFixed方法,保留指定的小数位数
负数没有开根号,所以为NaN
关系表达式
关系运算符:关系运算符运算结果是布尔值
- <
-
=
- <=
- ==
- !==
- ===
- !=
相等和全等
- 相等:两个等号不比较值的类型,它会进行隐式转换后比较值是否相等
- 全等:三个等号不仅比较值相同也比较类型相同
- null和undefined用==进行比较(涉及隐式强制类型转换,ES5规范中规定)
如果x为null,y为undefined,则结果为true;如果x为null,y为undefined,则结果为true - null和undefined用===进行比较时结果为false是因为类型不同
typeof null //object
typeof undefined //undefined
NaN==NaN //false
NaN===NaN //false
如何判断是否为NaN:isNaN()
逻辑表达式
逻辑运算符
- !
- &&
- ||
短路计算
a&&b运算中:a真,表达式的值为b;a假,表达式的值为a
a||b运算中:a真,表达式的值为a;a假,表达式的值为b
逻辑运算顺序:非----与----或
赋值表达式
赋值运算符
- =
- +=
- -=
- *=
- /=
- %=
- ++
- –
综合表达式
运算顺序:非运算----数学运算----关系运算----逻辑运算
变量的范围表示
// 5<=a<=12
if(a>=5&&a<=12){}