算数运算符
a)+ -
当+-作为一元运算符时,代表强制转换到数字,如果无法转换,返回NaN。比如:+[] +{} +new Date()
当加号作为二元运算符时,加号也可以表示字符串连接,只要加号有一边是字符串,则优先字符串连接。
b)* / %
c)++ —
++ 递增 比如:i++ 就等同于i = i + 1的简写
位运算符
& 位与
| 位或
^ 位异或
~ 位非(位取反)
<< 左移
>> 右移
>>> 无符号右移
赋值运算符
= //在任何位置都代表赋值
+= //i += 2; 等价于i = i + 2;
-= *= /= %=
关系运算符
a)== !=
俩等号在任何位置都代表比较,两边会自动类型转换
b)=== !==
仨等号在任何位置都代表比较,两边不会自动类型转换
比较运算符
< > <= >=
逻辑运算符
&& 与 || 或 ! 非(取反)
a) &&的特点
短路:从左往右,碰到假就不执行后面的表达式(相当于if的简写)
var a = 0;
(a == 1) && (a = 3);
alert(a);
应用于赋值
var b = 1;
var a = “张三”+ b && c;
b) ||的特点
短路:从左往右,碰到真就不执行后面的表达式
var a = 0;
a || (a = 100);
alert(a);
应用于赋值
var a = 100;
a = a || 0;
alert(a);
逗号运算符
三元运算符
相当于if…else的简写
表达式1 ? 表达式2 : 表达式3
var b = 1,c = 1;
var a = b == c? 3 : 6;
console.log(a);
instanceof
一般用来判断对象属于哪个类