JScript 中的运算符优先级是一套规则该规则在计算表达式时控制运算符执行的顺序具有较高优先级的运算符先于较低优先级的运算符执行例如乘法的执行先于加法
下表按从最高到最低的优先级列出 JScript 运算符具有相同优先级的运算符按从左至右的顺序求值
运算符 描述
[] () 字段访问数组下标函数调用以及表达式分组
++ — ~ ! delete new typeof void 一元运算符返回数据类型对象创建未定义值
* / % 乘法除法取模
+ + 加法减法字符串连接
<< >> >>> 移位
< <= > >= instanceof 小于小于等于大于大于等于instanceof
== != === !== 等于不等于严格相等非严格相等
& 按位与
^ 按位异或
| 按位或
&& 逻辑与
|| 逻辑或
?: 条件
= oP= 赋值运算赋值
多重求值
圆括号可用来改变运算符优先级所决定的求值顺序这意味着圆括号中的表达式应在其用于表达式的其余部分之前全部被求值
例如
z = * ( + + )
在该表达式中有五个运算符 = * () + 以及另一个 +根据运算符优先级的规则它们将按下面的顺序求值 () + + * =
首先对圆括号内的表达式求值圆括号中有两个加法运算符因为两个加法运算符具有相同的优先级从左到右求值先将 和 相加然后将其和与 相加得到的结果为
然后是乘法运算 乘以 得到结果为
最后是赋值运算将 赋给 z