JS运算符

212 阅读2分钟

1.算术运算符

1.1 number运算
  • 加减乘除
  • 余数 x%y
  • 指数 x**y
  • 自增自减 x++/++x/y--/y++
  • 求值运算符 +x
  • 负数运算符 -x
1.2 string运算
  • 连接运算符 '123'+'456'

注意一些特殊情况:

2.比较运算符

JS中的比较运算符包括:> | < | >= | <= | ==(模糊相等) | != | ===(全等) | !==。JS中的三位一体:

重点:永远不要使用==,而是用===代替,==的问题在于,他会进行类型转换。 至于JS是如何对==操作进行类型转化的,可以看这篇文章:

zhuanlan.zhihu.com/p/22745278

与之对应的===就显得更加简单了:对于基本类型看值是否相同,对于对象则看地址是否相同。比如: 两个空数组或者两个空对象,由于地址不一样,所以他们不相同。需要特别注意的: NAN !== NAN

2.布尔运算符

  • 或且非:|| && !

3.二进制位运算符

  • 或且非: | & ~
  • 异或:^两个位数相同则该位为0,否则为1
  • 左移,右移:<< | >>
  • 头部补0的右移:>>>

用途:

  • 1.使用~,>>,<<,>>>,|来对小数取整,工作中取整更多用window.parseInt()

4.点运算符

  • 语法:对象.属性名
  • 作用:读取对象的属性
  • 注意:JS有特殊的逻辑,点前面不是对象,就把它封装为对象,比如将number变为Number,string变为String,bool变为Boolean

5.void运算符

  • 语法:void表达式或语句
  • 作用:求表达式的值,或执行语句,然后void的返回值总是为undefined 举例:
<a href="javascript:void(f())">点击无反应</a>

6.逗号运算符

  • 语法:表达式1,表达式2,表达式.....
  • 作用:将表达式的值作为整体的值 举例:

7. 运算符的优先级

直接看MDN的总结即可。

参考文档