JavaScript 操作符

  1. 一元操作符  执行前置递增或递减,变量的值都是在语句被求值以前改变的,执行后置递增或递减操作,,在包含他们的语句被要求值之后才执行
  2. 对任何类型的值进行运算,返回值都是数值型
  3. 对对象进行运算时,先调用valueOf(),如果结果为NaN,在调用toString(),最后对象变量变成数值变量
  4. 逻辑与&&    逻辑与属于短路操作,若第一个操作数能够决定结果,则不再对第二个操作数求值
  5. 逻辑与    如果第一个操作数为对象,则返回第二个操作数;若第二个操作数为对象,则只有在第一个操作数为true时才返回该对象;若有一个操作数是NaN、null、undefined,则返回NaN、null、undefined
  6. 逻辑与  不能在逻辑与中使用未定义的值,若对未定义操作数求值,会报错。不求值没有关系
  7. 逻辑或||  逻辑或也是短路操作,若第一个操作数能够决定结果,则不再对第二个操作数求值
  8. 逻辑或    如果第一个操作数为对象,则返回第一个操作数,若第一个求值结果为false,则返回第二个操作数,若两个都为NaN、null、undefined,则返回NaN、null、undefined
  9. 乘性操作符  参与乘性运算的操作数为非数值,则使用Number()将其转化成数值
  10. Infinity*0 结果为NaN,与非0相乘为+-Infinity 与自身相乘为Infinity
  11. 除法  /    Infinity/Infinity为NaN  0/0为NaN    n/0为+-Infinity
  12. 比较数值和字符串时,把字符串转换成数值,比较两个字符串,转换成ASCII编码,所有大写字母编码小于小写字母字符编码,任何操作数与NaN比较结果都是false
  13. null==0//false undefined==0//false  null==undefined//true
  14. switch语句匹配使用全等,不存在类型转换
  15. 函数中位于return后面的代码不会执行
  16. 函数要么始终返回值,要么永远不返回值
原文地址:https://www.cnblogs.com/qmxj-blog/p/6494709.html