JavaScript 入门·JavaScript 具有全范围的运算符
JavaScript 入门·JavaScript 具有全范围的运算符
发布时间:2016-12-30 来源:查字典编辑
摘要:复合赋值运算符运算符符号加法+=按位与&=按位或|=按位异或^=除法/=左移=减法-=无符号右移>>>=要求版本信息条件(三目)运算符(?:...

复合赋值运算符

运算符 符号
加法 +=
按位与 &=
按位或 |=
按位异或 ^=
除法 /=
左移 <<=
取模 %=
乘法 *=
右移 >>=
减法 -=
无符号右移 >>>=

要求

版本信息

条件(三目)运算符 (?:)

根据条件执行两个语句中的其中一个。

test

? 语句1

: 语句2

参数

test

任何 Boolean 表达式。

语句1

当 test 是

true 时执行的语句。可以是复合语句。

语句2

当 test 是

false 时执行的语句。可以是复合语句。

说明

?: 运算符是

if...else 语句的快捷方式。它通常被用作较大表达式的一部分,而在此处使用

if...else 语句是不协调的。例如:

var now = new Date(); var greeting = "Good" + ((now.getHours() > 17)

? " evening."

: " day.");

在该例子中,如果是 6pm 以后,则创建一个包含 "Good evening." 的字符串。使用

if...else 语句的等效代码如下:

var now = new Date(); var greeting = "Good"; if (now.getHours() > 17) greeting += " evening."; else greeting += " day."; 要求

版本 1

请参阅

if...else 语句 | 运算符优先级 | 运算符总结

delete 运算符

从对象中删除一个属性,或从数组中删除一个元素。

delete expression

expression 参数是一个有效的 JScript 表达式,通常是一个属性名或数组元素。

说明

如果 expression 的结果是一个对象,且在 expression 中指定的属性存在,而该对象又不允许它被删除,则返回

false。

在所有其他情况下,返回

true。

要求

版本 3

请参阅

运算符优先级 | 运算符总结

除法赋值运算符 (/=)

变量值除以表达式值,并将结果赋给该变量。

result

/= expression

参数

result

任何数值变量。

expression

任何数值表达式。

说明

使用

/= 运算符和使用下面的语句是等效的:

result = result / expression 要求

版本 1

请参阅

/ 运算符 | 运算符优先级 | 运算符总结

除法运算符 (/)

将两个表达式的值相除。

result

= number1

/ number2

参数

result

任何数值变量。

number1

任何数值表达式。

number2

任何数值表达式。

要求

版本 1

请参阅

/= 运算符 | 运算符优先级 | 运算符总结

in 运算符

测试对象中是否存在该属性。

result = property

in object

参数

result

必选项。任意变量。

property

必选项。相当于字符串表达式的一个表达式。

object

必选项。任意对象。

说明

in 操作检查对象中是否有名为 property 的属性。也可以检查对象的原型,以便知道该属性是否为原型链的一部分。

要求

版本 1

请参阅

运算符优先级 | 运算符总结

递增 (++) 和递减 (--) 运算符

变量值递增一或递减一。

语法 1

result

=

++variable

result

=

--variable

result

= variable

++

result

= variable

--

语法 2

++variable

--variable

variable

++

variable

--

参数

result

任何变量。

variable

任何变量。

说明

递增和递减运算符,是修改存在变量中的值的快捷方式。包含其中一个这种运算符的表达式的值,依赖于该运算符是在变量前面还是在变量后面:

var j, k; k = 2; j =

++k;

因为递增发生在表达式被求值前,所以值 3 赋给了 j。

和下面的例子对照:

var j, k; k = 2; j = k

++;

在此,因为递增发生在表达式被求值后,所以值 2 赋给了 j。

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

计算 逻辑 位运算 赋值 杂项

描述 符号

负值 -

逻辑非 !

按位取反 ~

赋值 =

删除 delete

递增 ++

小于 <

按位左移 <<

运算赋值 oP= typeof

运算符

递减 --

大于 >

按位右移 >>

void 运算符 void

乘法 *

小于等于 <=

无符号右移 >>>

除法 /

大于等于 >=

按位与 &

取模运算 %

等于 ==

按位异或 ^

加法 +

不等于 !=

按位或 |

减法 -

逻辑与 &&

逻辑或 ||

条件(三元运算符) ?:

逗号 ,

恒等 ===

不恒等 !==

运算符优先极

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

运算符 描述

. [] () 字段访问、数组下标以及函数调用

++ -- - ~ ! typeof new void delete 一元运算符、返回数据类型、对象创建、未定义值

* / % 乘法、除法、取模

+ - + 加法、减法、字符串连接

<< >> >>> 移位

< <= > >= 小于、小于等于、大于、大于等于

= != === !== 等于、不等于、恒等、不恒等

& 按位与

^ 按位异或

| 按位或

&& 逻辑与

|| 逻辑或

?: 条件

= oP= 赋值、运算赋值

, 多重求值

圆括号可用来改变求值顺序。圆括号中的表达式应在其用于语句的其余部分之前全部被求值。

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

z = 78 * (96 + 3 + 45)

在该表达式中有五个运算符: =, *, (), +, 以及 +。根据优先级,它们将按下面的顺序求值: (), *, +, +, =。

首先对圆括号内的表达式求值:其中有两个加法运算符,它们具有相同的优先级:96 和 3 相加,然后再将它们的和与 45 相加,得到的结果为 144。

然后是乘法运算: 78 和 144 相乘,得到结果为 11232。

最后是赋值运算:将 11232 赋给 z。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类