1.算术操作符(返回值为number类型)
+ 加
- 减
* 乘
/ 除
% 取余
2.赋值操作符(返回值为undefined类型)
var result = 1 + 2;
result += 3;
==> result = result + 3;
将1+2这个表达式的运算结果赋值给result
3.一元运算符
++ 自增
- - 自减
+a 将其他数据类型转换为数字类型
+true //1
+‘11’ //11
-a 将其他数据类型转换为数字类型
-(-true) //1
-(-‘11’) //11
var a = 3;
var b = 1;
var result = ++a+b++;
++a; // a = 4;
a+b // result 5;
b++ // b = 2;
前置:先自增、减再参与其他运算
后置:先参与其他运算,再自增、自减
4.逻辑运算符
- &&(并且) 同真则在,有假则假
a && b
若 a 为真,返回 b
若 a 为假,返回 a
- || (或者) 同假则假,有真则真
a && b
若 a 为真,返回 a
若 a 为假,返回 b
- ! 非
!false // true
!true // false
!3 // false
5.比较运算符(比较栈区的值)【返回类型为Boolean】
- == 比较值
‘11’ == 11 // true
- === 先比较数据类型,如果数据类型不一致,会直接返回false,如果数据类型一致,再比较值
‘11’ === 11 // false
6.三目运算符
exp1 ? exp2 : exp3 当exp1为真,返回exp2,否则返回exp3
7.位运算符(number,先将number转换二进制再运算)
异或 ^
位与 &
位或 |
8.拼接运算符(返回值为undefined类型)
当使用 “+” ,操作数中出现了字符串,那么就肯定是拼接运算