计算 逻辑 位运算 赋值 杂项
描述 符号 描述 符号 描述 符号 描述 符号 描述 符号
负值 - 逻辑非 ! 按位取反 ~ 赋值 = 删除 delete
递增 ++ 小于 <按位左移 <<运算赋值 oP= typeof 运算符 typeof
递减 -- 大于 >按位右移 >>void 运算符 void
乘法 * 小于等于 <= 无符号右移 >>>
除法 / 大于等于 >= 按位与 &
取模运算 % 等于 == 按位异或 ^
加法 + 不等于 != 按位或 |
减法 - 逻辑与 &&
逻辑或 ||
条件(三元运算符) ?:
逗号 ,
恒等 ===
不恒等 !==
运算符优先极
javascript 中的运算符是按照一个特定的顺序来求值的。这个顺序就是运算符的优先级。下表按从最高到最低的优先级列出了这些运算符。处于同一行中的运算符按从左至右的顺序求值。
运算符 描述
. [] () 字段访问、数组下标以及函数调用
++ -- - ~ ! typeof new void delete 一元运算符、返回数据类型、对象创建、未定义值
* / % 乘法、除法、取模
+ - + 加法、减法、字符串连接
<<>>>>>移位
<<= >>= 小于、小于等于、大于、大于等于
== != === !== 等于、不等于、恒等、不恒等
&按位与
^ 按位异或
| 按位或
&&逻辑与
|| 逻辑或
?: 条件
= oP= 赋值、运算赋值
, 多重求值
圆括号可用来改变求值顺序。圆括号中的表达式应在其用于语句的其余部分之前全部被求值。
具有较高优先级的运算符将在具有较低优先级的运算符之前被求值。例如:
z = 78 * (96 + 3 + 45)
在该表达式中有五个运算符: =, *, (), +, 以及 +。根据优先级,它们将按下面的顺序求值: (), *, +, +, =。
首先对圆括号内的表达式求值:其中有两个加法运算符,它们具有相同的优先级:96 和 3 相加,然后再将它们的和与 45 相加,得到的结果为 144。
然后是乘法运算: 78 和 144 相乘,得到结果为 11232。
最后是赋值运算:将 11232 赋给 z。
. [] () 字段访问、数组下标、函数调用以及表达式分组
++ -- - ~ ! delete new typeof void 一元运算符、返回数据类型、对象创建、未定义值
* / % 乘法、除法、取模
+ - + 加法、减法、字符串连接
<<>>>>>移位
<<= >>= instanceof 小于、小于等于、大于、大于等于、instanceof
== != === !== 等于、不等于、严格相等、非严格相等
& 按位与
^ 按位异或
| 按位或
&& 逻辑与
|| 逻辑或
?: 条件
= oP= 赋值、运算赋值
, 多重求值
|= 按位或.然后赋值.如
i=1//二进制为0001
i|2//2的二进制为0010 两个按位或为0011也就是3
i|=2等价于i=i|2
所以i为3