js运算符与优先级

知识共享许可协议 版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

运算符

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

算术:

描述 符号
负值 -
递增 ++
递减
乘法 *
除法 /
取模运算 %
加法 +
减法 -

逻辑:

描述 符号
逻辑非 !
小于 <
大于 >
小于等于 <=
大于等于 >=
等于 ==
不等于 !=
逻辑与 &&
逻辑或 ||
条件(三元运算符) ?:
逗号 ,
恒等 ===
不恒等 !==

位运算:想深入了解位运算请点击这里详细讲解

描述 符号
按位取反 ~
按位左移 <<
按位右移 >>
无符号右移 >>>
按位与 &
按位或 |
按位异或 ^

赋值:

描述 符号
赋值 =
加法赋值 +=
减法赋值 -=
乘法赋值 *=
除法赋值 /=
取模赋值 %=

运算符优先级

JavaScript中的运算符是按照一个特定的顺序来求值的,这个顺序就是运算符的优先级。
在这里,我从高到低列出了这些运算符,处于同一行的运算符从左至右的顺序求值。

运算符 描述
.  [ ]  () 字段访问、数组下标以及函数调用
++  –  -  ~  !  typeof  new  void  delete 一元运算符、返回数据类型、对象创建、未定义值
*  /  % 乘法、除法、取模
+  -  + 加法、减法、字符串连接
<<  >>  >>> 移位
<  <=  >  >= 小于、小于等于、大于、大于等于
==  !=  ===  !== 等于、不等于、恒等、不恒等
& 按位与
^ 按位异或
| 按位或
&& 逻辑与
|| 逻辑或
?: 条件(三元运算)
= 赋值
, 多重求值

具有较高优先级的运算符将在具有较低优先级的运算符之前被求值,例如:

z = 78 * (96+3+45)
// 它们将这个顺序求值:(),*,+,+,=

圆括号可用来改变求值顺序,圆括号中的表达式应在其用于语句的其余部分之前全部被求值。
运算过程:
首先对圆括号内的表达式求值:其中有两个加法运算符,它们具有相同优先级:96+3相加,然后再与45相加,得到结果144。
然后是乘法运算:78和144相乘,得到结果11232。
最后是赋值运算符:将11232赋给z。

猜你喜欢

转载自blog.csdn.net/weixin_44198965/article/details/94149656
今日推荐