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