运算符优先级

Posted xianxiaoan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运算符优先级相关的知识,希望对你有一定的参考价值。

 

 
运算符优先级
javascript中的运算符优先级是一套规则。该规则在计算表达式时控制运算符执行的顺序。具有较高优先级的运算符先于较低优先级的运算符执行。例如,乘法的执行先于加法。

下表按从最高到最低的优先级列出JavaScript运算符。具有相同优先级的运算符按从左至右的顺序求值。
运算符 描述
. [] () 字段访问、数组下标、函数调用以及表达式分组
++ -- - ~ ! delete new typeof void 一元运算符、返回数据类型、对象创建、未定义值
* / % 乘法、除法、取模
+ - + 加法、减法、字符串连接
<< >> >>> 移位
< <= > >= instanceof 小于、小于等于、大于、大于等于、instanceof
== != === !== 等于、不等于、严格相等、非严格相等
& 按位与
^ 按位异或
| 按位或
&& 逻辑与
|| 逻辑或
?: 条件
= oP= 赋值、运算赋值
, 多重求值


圆括号可用来改变运算符优先级所决定的求值顺序。这意味着圆括号中的表达式应在其用于表达式的其余部分之前全部被求值。
z = 78 * (96 + 3 + 45)
在该表达式中有五个运算符: =, *, (), +, 以及另一个 +。根据运算符优先级的规则,它们将按下面的顺序求值: (), +, +, *, =。 

首先对圆括号内的表达式求值。圆括号中有两个加法运算符。因为两个加法运算符具有相同的优先级,从左到右求值。先将 96 和 3 相加,然后将其和与 45 相加,得到的结果为 144。 
然后是乘法运算。78 乘以 144,得到结果为 11232。 
A最后是赋值运算。将 11232 赋给 z。

以上是关于运算符优先级的主要内容,如果未能解决你的问题,请参考以下文章

java new运算符与点运算符优先级比较

c语言中关系运算符和自加自减运算优先级哪个高

JS重点之运算符以及运算符优先级

c语言中运算符有哪几种,优先级顺序是怎样

Java运算符优先级谁知道?

java运算符优先级问题