一元运算符
++ , --, +(正号)
++,–:自增和自减
- ++(–)在前,先自增(自减),再运算
- ++(–)在后,先运算自增(自减),再运算
正负号
在js中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换。
其他类型转number: - 字符串转number:按照字面值转换,如果字面值不是数字,则转为不是数字的数字NaN
(如图:声明字符串类型,结果number类型,转换成功)
- boolean转number:true转为1,false转为0
算数运算符
+ , - , * , / , % ...
赋值运算符
= , += , -=
比较运算符
> , < , >= , <= , == , ===( 全等于)
比较方式:
- 类型相同,直接比较
(1)字符串:按照字典顺序比较,按位逐一比较,直到得到大小为止
- 类型不同,先进行类型转换,再比较
===全等于。在比较之前,先判断类型,如果类型不一样,则直接返回false
逻辑运算符
&& 与(短路) , || 或 (短路) , !非
其他类型转boolean:
- number->boolean 0或Nan为假,其他为真
- String->boolean:除了空字符串(""),其他都是true
- null和defined:都是false
- 对象:所有对象都为true
三元运算符
?:表达式
语法:
表达式 ? 值1 :值2;
判断表达式的值,如果是true则取值1,如果是false则取值2;