AS3.0主要运算符

时间:2023-01-15 01:28:21


下表按优先级递减的顺序列出了 ActionScript 3.0 中的运算符。该表内同一行中的运算符具有相同的优先级。在该表中,每行运算符都比位于其下方的运算符的优先级高。

运算符

主要

[] {x:y} () f(x) new x.y x[y] <></> @ :: ..

后缀

x++ x--

一元

++x --x + - ~ ! delete typeof void

乘法

* / %

加法

+ -

按位移位

<< >> >>>

关系

< > <= >= as in instanceof is

等于

== != === !==

按位"与"

&

按位"异或"

^

按位"或"

|

逻辑"与"

&&

逻辑"或"

||

条件

?:

赋值

= *= /= %= += -= <<= >>= >>>= &= ^= |=

逗号

,主要运算符

主要运算符包括那些用来创建 Array 和 Object 字面值、对表达式进行分组、调用函数、实例化类实例以及访问属性的运算符。 

下表列出了所有主要运算符,它们具有相同的优先级。属于 E4X 规范的运算符用 (E4X) 来表示。

运算符

执行的运算

[]

初始化数组

{x:y}

初始化对象

()

对表达式进行分组

f(x)

调用函数

new

调用构造函数

x.y x[y]

访问属性

<></>

初始化 XMLList 对象 (E4X)

@

访问属性 (E4X)

::

限定名称 (E4X)

..

访问子级 XML 元素 (E4X)

 

下表列出了所有的一元运算符,它们具有相同的优先级:

运算符

执行的运算

++

递增(前缀)

--

递减(前缀)

+

一元 +

-

一元 -(非)

!

逻辑"非"

~

按位"非"

delete

删除属性

typeof

返回类型信息

void

返回 undefined 值

乘法运算符

乘法运算符具有两个操作数,它执行乘、除或求模计算。

下表列出了所有的乘法运算符,它们具有相同的优先级:

运算符

执行的运算

*

乘法

/

除法

%

求模

加法运算符

加法运算符有两个操作数,它执行加法或减法计算。下表列出了所有加法运算符,它们具有相同的优先级:

运算符

执行的运算

+

加法

-

减法

按位移位运算符

按位移位运算符有两个操作数,它将第一个操作数的各位按第二个操作数指定的长度移位。下表列出了所有按位移位运算符,它们具有相同的优先级:

运算符

执行的运算

<<

按位向左移位

>>

按位向右移位

>>>

按位无符号向右移位

关系运算符

关系运算符有两个操作数,它比较两个操作数的值,然后返回一个布尔值。下表列出了所有关系运算符,它们具有相同的优先级:

运算符

执行的运算

<

小于

>

大于

<=

小于或等于

>=

大于或等于

as

检查数据类型

in

检查对象属性

instanceof

检查原型链

is

检查数据类型

等于运算符

等于运算符有两个操作数,它比较两个操作数的值,然后返回一个布尔值。下表列出了所有等于运算符,它们具有相同的优先级:

运算符

执行的运算

==

等于

!=

不等于

===

严格等于

!==

严格不等于

按位逻辑运算符

按位逻辑运算符有两个操作数,它执行位级别的逻辑运算。按位逻辑运算符具有不同的优先级;下表按优先级递减的顺序列出了按位逻辑运算符:

运算符

执行的运算

&

按位"与"

^

按位"异或"

|

按位"或"

逻辑运算符

逻辑运算符有两个操作数,它返回布尔结果。逻辑运算符具有不同的优先级;下表按优先级递减的顺序列出了逻辑运算符:

运算符

执行的运算

&&

逻辑"与"

||

逻辑"或"

条件运算符

条件运算符是一个三元运算符,也就是说它有三个操作数。条件运算符是应用 if..else条件语句的一种简便方法。

运算符

执行的运算

?:

条件

赋值运算符

赋值运算符有两个操作数,它根据一个操作数的值对另一个操作数进行赋值。下表列出了所有赋值运算符,它们具有相同的优先级:

运算符

执行的运算

=

赋值

*=

乘法赋值

/=

除法赋值

%=

求模赋值

+=

加法赋值

-=

减法赋值

<<=

按位向左移位赋值

>>=

按位向右移位赋值

>>>=

按位无符号向右移位赋值

&=

按位"与"赋值

^=

按位"异或"赋值

|=

按位"或"赋值