运算符 | 说明 |
---|---|
.[ ] ( ) | 字段访问、数组索引、函数调用和表达式分组 |
++ -- - ~ ! delete new typeof void | 一元运算符、返回数据类型、对象创建、未定义的值 |
* / % | 相乘、相除、求余数 |
+ - + | 相加、相减、字符串串联 |
<< >> >>> | 移位 |
< <= > >= instanceof | 小于、小于或等于、大于、大于或等于、是否为特定类的实例 |
== != === !== | 相等、不相等、全等,不全等 |
& | 按位“与” |
^ | 按位“异或” |
| | 按位“或” |
&& | 逻辑“与” |
|| | 逻辑“或” |
?: | 条件运算 |
= OP= | 赋值、赋值运算(如 += 和 &=) |
, | 多个计算 |
多数运算符都具有从左向右的结合性,只有一元运算符、条件运算符和赋值运算符具有从右向左的结合性。
w = x = y = z; //等价于: w = (x = (y = z));
q = a ? b : c ? d : e ? f : g; //等价于: q = a ? b : (c ? d : (e ? f : g));
a = 1; b = a++ + a-- * a++; console.log(a,b);//2 3注意a++与++a的区别;
2例子:
new Date().getTime();//不会报错,new的优先级很高