一、运算符分类
1.一元操作符(一个操作数)
++
--
前++是先加一再运算,后++是先运算再加一
2.算数操作符(两个操作数)
+(也可一个操作数,表示正数)
-(也可一个操作数,表示负数)
*
/
%
3.关系操作符(返回的结果为boolean类型)
<
>
<=
>=
4.相等操作符(返回的结果为boolean类型)
==(**会先转换类型再进行比较)
比如:0 == false; // true
'' == 0; // true
!=
===(不转换类型进行比较)
!==
5.逻辑操作符
!(逻辑非,先转换成boolean类型再取反)
&&(逻辑与,短路操作符,如果第一个操作数为true,则结果为第二个操作数的值,否则为第一个操作数的值)
||(逻辑或,短路操作符,如果第一个操作数为true,则结果为第一个操作数的值,否则为第二个操作数的值)
6.赋值操作符
=
7.条件操作符
布尔表达式 ? 表达式一:表达式二;
如果判断表达式为true,则结果为表达式一,否则为表达式二。
8.逗号操作符
,
9.对象操作符
new(创建对象的实例)
delete(删除对象的属性)
.(访问对象的属性)
[](访问对象的属性)
instanceof(判断某个变量是否是某个对象的实例)
in(判断某个属性是否在对象中)
10.位操作符
了解一下,并不常用:
& 转换为32位二进制数之后 相同位都为1才为1,否则都是0
var num = 8; num & 4; // 0
<< 转换为32位二进制数之后,左移n位之后,再转化成十进制
var num = 2; num<<2; // 8
……
**最后,还需了解运算符的优先级(此处忽略),如果不明确的可以通过加上括号来提升优先级
二、表达式
将直接量和变量用操作符连接起来,就是表达式。