JavaScript所有的操作符

操作符分类 操作符 描述




+ (加法) 将两个数相加。
++ (自增) 将表示数值的变量加一(可以返回新值或旧值)。
(求相反数,减法) 作为求相反数操作符时返回参数的相反数。作为二进制操作符时,将两个数相减。
(自减) 将表示数值的变量减一(可以返回新值或旧值)。
* (乘法) 将两个数相乘。
/ (除法) 将两个数相除。
% (求余) 求两个数相除的余数。
字符串操作符 + (字符串加法) 连接两个字符串。
+= 连接两个字符串,并将结果赋给第一个字符串。




&& (逻辑与) 如果两个操作数都是真的话则返回真。否则返回假。
|| (逻辑或) 如果两个操作数都是假的话则返回假。否则返回真。
! (逻辑非) 如果其单一操作数为真,则返回假。否则返回真。



& (按位与) 如果两个操作数对应位都是 1 的话则在该位返回 1。
^ (按位异或) 如果两个操作数对应位只有一个 1 的话则在该位返回 1。
| (按位或) 如果两个操作数对应位都是 0 的话则在该位返回 0。
~ (求反) 反转操作数的每一位。
<< (左移) 将第一操作数的二进制形式的每一位向左移位,所移位的数目由第二操作数指定。右面的空位补零。
>> (算术右移) 将第一操作数的二进制形式的每一位向右移位,所移位的数目由第二操作数指定。忽略被移出的位。
>>> (逻辑右移) 将第一操作数的二进制形式的每一位向右移位,所移位的数目由第二操作数指定。忽略被移出的位,左面的空位补零。




= 将第二操作数的值赋给第一操作数。
+= 将两个数相加,并将和赋给第一个数。
-= 将两个数相减,并将差赋给第一个数。
*= 将两个数相乘,并将积赋给第一个数。
/= 将两个数相除,并将商赋给第一个数。
%= 计算两个数相除的余数,并将余数赋给第一个数。
&= 执行按位与,并将结果赋给第一个操作数。
^= 执行按位异或,并将结果赋给第一个操作数。
|= 执行按位或,并将结果赋给第一个操作数。
<<= 执行左移,并将结果赋给第一个操作数。
>>= 执行算术右移,并将结果赋给第一个操作数。
>>>= 执行逻辑右移,并将结果赋给第一个操作数。




== 如果操作数相等的话则返回真。
=== 绝对相等比较(null==undefined)结果将返回true
(null===undefined)结果将返回false
(1==”1”) 结果将返回true,(1===”1”) 结果将返回false。
!= 如果操作数不相等的话则返回真。
> 如果左操作数大于右操作数的话则返回真。
>= 如果左操作数大于等于右操作数的话则返回真。
< 如果左操作数小于右操作数的话则返回真。
<= 如果左操作数小于等于右操作数的话则返回真。




?: 执行一个简单的“if…else”语句。
, 计算两个表达式,返回第二个表达式的值。
delete 允许你删除一个对象的属性或数组中指定的元素。
new 允许你创建一个用户自定义对象类型或内建对象类型的实例。
this 可用于引用当前对象的关键字。
typeof 返回一个字符串,表明未计算的操作数的类型。
instanceof 用于判断一个变量是否某个对象的实例
void 该操作符指定了要计算一个表达式但不返回值。

ECMAScript全部关键字

关键字
break case catch continue default typeof
delete do else finally for var
function if in instanceof new void
return switch this throw try while
with          
保留字
abstract boolean byte char class const
debugger double enum export extends fimal
float goto implements import int interface
long mative package private protected public
short static super synchronized throws transient
volatile