- 赋值/复合赋值
- 比较(>,>=,==,===,!=,!==,<,<=)
- 算术(+,-,*,/,++,--,一元运算法 -,一元运算法 +,指数 **)【
注意自增自减放前后的区别
】
- 位运算(按位与&、按位或|、按位异或^、按位非~、左移<<、右移>>) 【
效率高,适合优化,但不好阅读和维护
】
- 逻辑运算(逻辑与&&,逻辑或||,逻辑非!)【
可用于短路求值
】
逻辑运算符常用于布尔(逻辑)值之间;
当操作数都是布尔值时,返回值也是布尔值。
不过实际上&&和||返回的是一个特定的操作数的值,
所以当它用于非布尔值的时候,返回值就可能是非布尔值 √
- 字符串运算符(+,+=)
- 关系操作符(in,instanceof)
propNameOrNumber in objectName /*代表着属性名的字符串或者是一个代表着数组索引的数值表达式*/
返回布尔值
objectName instanceof objectType /*如果所判别的对象确实是所指定的类型,则返回true*/
- 单元运算符(+,-,delete,typeof)
+:一元运算符, 如果操作数在之前不是number,试图将其转换为number
-:一元运算符,返回操作数的负值.
delete:如果 delete 操作成功,属性或者元素会变成 undefined。如果 delete可行会返回true,如果不成功返回false
typeof operand