javascript 具有全范围的运算符,包括算术、逻辑、位以及赋值运算符。此外还有其他一些运算符。 

   

计算 逻辑 位运算 赋值 杂项 

描述 符号 描述 符号 描述 符号 描述 符号 描述 符号 

负值 - 逻辑非 ! 按位取反 ~ 赋值 = 删除 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。