一、目录
- 算数运算符
- 比较运算符
- 布尔运算符
- 二进制运算符
- 其他运算符
二、算数运算符
number运算
- 加:+
- 减:-
- 乘:*
- 除:/
- 取余数:%(10 % 3 = 1)
- 指数:**
- 自增自减:x++、++x、x--、--x(若x=1,则x++=1,x=2;++x=2,x=2;x在前,值为前,x在后,值为后)
- 求值运算符:+x(+x就等于x)
- 负数运算符:-x(-x取x的负值)
string运算
- 连接运算:'123' + '456',得到'123456'
特殊情况
- 1 + '2',得到'12'(数字被转换为字符串)
- '2' - 1,得到1(由于字符串不支持减号,字符串被转换为数字)
注意
- 尽量少用自增和自减
三、比较运算符
类型
- >
- <
- >=
- <=
- ==:永远不要使用
- !=
- ===
- !==
“==”的弊端
0 == []
0 == ''
0 == '\t'
但是,右边三个互不相等。
“===”判断真假的方法
- 基本类型看值是否相等
- 对象类型看地址是否相等
- 唯一特例:NaN !== NaN
四、布尔运算符
类型
- 或:||
- 与:&&
- 非:!
短路逻辑
二进制运算符
或、与、否、异或、左移右移、头部补零;位运算判断奇偶、交换ab的值、取整
五、点运算符
语法
对象.属性名 = 属性值
作用
读取对象的属性值
不是对象为什么有属性?
JS有特殊逻辑,点前面不是对象,就把它封装成对象;number变成Number对象,string变成String对象,bool变成Boolean对象,一般不用这三种对象,只用其简单类型。永远不要用以上三个构造函数。
六、void运算符
七、逗号运算符
语法
表达式1,表达式2,表达式3,...,表达式n
作用
将表达式n的值作为整体的值
使用
let a = (1,2,3,4,5),则a等于5