运算符优先级

运算符优先级是 JScript 中的一套规则,用于控制编译器计算表达式时执行运算的顺序。 先执行具有较高优先级的运算,然后执行较低优先级的运算。 例如,先执行相乘,再执行相加。

优先级表

下表列出了 JScript 运算符,并按优先级顺序从高到低排列。

优先级

计算顺序

运算符

说明

15

从左到右

., [], ()

字段访问、数组索引、函数调用和表达式分组

14

从右到左

++, --, -, ~, !, delete, new, typeof, void

一元运算符、返回数据类型、对象创建、未定义的值

13

从左到右

*, /, %

相乘、相除、求余数

12

从左到右

+, -

相加、字符串串联、相减

11

从左到右

<<、>>、>>>

移位

10

从左到右

<, <=, >, >=, instanceof

小于、小于或等于、大于、大于或等于、是否为特定类的实例

9

从左到右

==, !=, ===, !==

相等、不相等、全等,不全等

8

从左到右

&

按位“与”

7

从左到右

^

按位“异或”

6

从左到右

|

按位“或”

5

从左到右

&&

逻辑“与”

4

从左到右

||

逻辑“或”

3

从右到左

?:

条件运算

2

从右到左

=、OP=

赋值、复合赋值

1

从左到右

,(逗号)

多个计算

表达式中的圆括号改变由运算符优先级确定的计算顺序。 这就是说,先计算完圆括号内的表达式,然后再将它的值用于表达式的其余部分。

例如:

z = 78 * (96 - 3 + 45)

在上面的表达式中有 5 个运算符:=、*、()、- 和 +。 按照运算符优先级规则,按以下顺序计算:()、-、+、*、=。

  1. 最先计算圆括号内的表达式。 在圆括号内,有加法和减法运算符。 这两个运算符的优先级相同,按从左向右的顺序计算它们。 先从 96 减去数字 3,结果是 93。 然后将数字 45 与 93 相加,得出的值为 138。

  2. 然后计算相乘。 用数字 138 乘以数字 78,得出的值为 10764。

  3. 最后进行赋值。 将数字 10764 赋给 z。

请参见

概念

运算符摘要

其他资源

JScript 运算符