前端系列知识之JS——操作符

  1. 一元操作符

前置递增(减)操作符++后置递增(减)操作符的区别:

  • 前置递增(减)

age++(--)相当于age=age+(-)1

  • 后置递增(减)

把后置递增(减)操作符放在变量后面不会改变语句的结果,例如:

var num=1;

var num2=2;

var num3=num--+num2;//3

var num4=num+num2;//2

2.位操作符

位操作符现将64位的值转换为32位的整数,然后执行操作,最后将结果转换回64位。具体的参照计算机基础,自己没注意过的操作符:无符号左(右)移<<<  or (>>>)

3.布尔操作符

逻辑非(!):总结一下就是非空字符串和数值取非(!)返回false,其余全部返回true

其余的还有逻辑与(&&)、逻辑或(||)操作符和c++一样

4.乘性操作符'*'或者'/'、‘%’

5.加性操作符(+)

加法总结:

与乘性运算符一样,在处理特殊值时,ECMAScript 中的加法也有一些特殊行为:

  • 某个运算数是 NaN,那么结果为 NaN。
  • -Infinity 加 -Infinity,结果为 -Infinity。
  • Infinity 加 -Infinity,结果为 NaN。
  • +0 加 +0,结果为 +0。
  • -0 加 +0,结果为 +0。
  • -0 加 -0,结果为 -0。

不过,如果某个运算数是字符串,那么采用下列规则:

  • 如果两个运算数都是字符串,把第二个字符串连接到第一个上。
  • 如果只有一个运算数是字符串,把另一个运算数转换成字符串,结果是两个字符串连接成的字符串。

减法总结:

与加法运算符一样,在处理特殊值时,减法运算符也有一些特殊行为:

  • 某个运算数是 NaN,那么结果为 NaN。
  • Infinity 减 Infinity,结果为 NaN。
  • -Infinity 减 -Infinity,结果为 NaN。
  • Infinity 减 -Infinity,结果为 Infinity。
  • -Infinity 减 Infinity,结果为 -Infinity。
  • +0 减 +0,结果为 +0。
  • -0 减 -0,结果为 -0。
  • +0 减 -0,结果为 +0。(这两条加粗的有争议)
  • 某个运算符不是数字,那么结果为 NaN。

猜你喜欢

转载自blog.csdn.net/qq_23864401/article/details/85728097
今日推荐