JavaScript 有赋值、比较、算术、位、逻辑、字符串和特殊运算符。本章描述了操作符,以及关于操作符优先级的一些信息。
| 操作符分类 |
操作符 |
描述 |
算 术 操 作 符 |
+ |
(加法) 将两个数相加。 |
| ++ |
(自增) 将表示数值的变量加一(可以返回新值或旧值)。 |
| - |
(求相反数,减法) 作为求相反数操作符时返回参数的相反数。作为二进制操作符时,将两个数相减。 |
| -- |
(自减) 将表示数值的变量减一(可以返回新值或旧值)。 |
| * |
(乘法) 将两个数相乘。 |
| / |
(除法) 将两个数相除。 |
| % |
(求余) 求两个数相除的余数。 |
| 字符串操作符 |
+ |
(字符串加法) 连接两个字符串。 |
| += |
连接两个字符串,并将结果赋给第一个字符串。 |
逻 辑 操 作 符 |
&& |
(逻辑与) 如果两个操作数都是真的话则返回真。否则返回假。 |
| || |
(逻辑或) 如果两个操作数都是假的话则返回假。否则返回真。 |
| ! |
(逻辑非) 如果其单一操作数为真,则返回假。否则返回真。 |
位 操 作 符 |
& |
(按位与) 如果两个操作数对应位都是 1 的话则在该位返回 1。 |
| ^ |
(按位异或) 如果两个操作数对应位只有一个 1 的话则在该位返回 1。 |
| | |
(按位或) 如果两个操作数对应位都是 0 的话则在该位返回 0。 |
| ~ |
(求反) 反转操作数的每一位。 |
| << |
(左移) 将第一操作数的二进制形式的每一位向左移位,所移位的数目由第二操作数指定。右面的空位补零。 |
| >> |
(算术右移) 将第一操作数的二进制形式的每一位向右移位,所移位的数目由第二操作数指定。忽略被移出的位。 |
| >>> |
(逻辑右移) 将第一操作数的二进制形式的每一位向右移位,所移位的数目由第二操作数指定。忽略被移出的位,左面的空位补零。 |
赋 值 操 作 符 |
= |
将第二操作数的值赋给第一操作数。 |
| += |
将两个数相加,并将和赋给第一个数。 |
| -= |
将两个数相减,并将差赋给第一个数。 |
| *= |
将两个数相乘,并将积赋给第一个数。 |
| /= |
将两个数相除,并将商赋给第一个数。 |
| %= |
计算两个数相除的余数,并将余数赋给第一个数。 |
| &= |
执行按位与,并将结果赋给第一个操作数。 |
| ^= |
执行按位异或,并将结果赋给第一个操作数。 |
| |= |
执行按位或,并将结果赋给第一个操作数。 |
| <<= |
执行左移,并将结果赋给第一个操作数。 |
| >>= |
执行算术右移,并将结果赋给第一个操作数。 |
| >>>= |
执行逻辑右移,并将结果赋给第一个操作数。 |
比 较 操 作 符 |
== |
如果操作数相等的话则返回真。 |
| != |
如果操作数不相等的话则返回真。 |
| > |
如果左操作数大于右操作数的话则返回真。 |
| >= |
如果左操作数大于等于右操作数的话则返回真。 |
| < |
如果左操作数小于右操作数的话则返回真。 |
| <= |
如果左操作数小于等于右操作数的话则返回真。 |
特 殊 操 作 符 |
?: |
执行一个简单的“if...else”语句。 |
| , |
计算两个表达式,返回第二个表达式的值。 |
| delete |
允许你删除一个对象的属性或数组中指定的元素。 |
| new |
允许你创建一个用户自定义对象类型或内建对象类型的实例。 |
| this |
可用于引用当前对象的关键字。 |
| typeof |
返回一个字符串,表明未计算的操作数的类型。 |
| void |
该操作符指定了要计算一个表达式但不返回值。 |