1. 乘法操作符: 如果有一个操作符是NaN:结果是NaN。
如果InFinity与0相乘,结果是NaN。
如果infinity非0数值相乘,结果是infinity或-infinity。 如果infinity和infinity相乘,结果为infinity 如果有一个操作数不是数值,则调用number()转换后再执行操作
如果InFinity与0相乘,结果是NaN。
如果infinity非0数值相乘,结果是infinity或-infinity。 如果infinity和infinity相乘,结果为infinity 如果有一个操作数不是数值,则调用number()转换后再执行操作
console.log(Infinity*"hgfj")-->NaN//包含除数字之外的字符串调用number()结果为NaN。
2. 除法:
如果有一个操作数为NaN:结果为NaN。
infinity / infinity=NaN。
0 / 0=NaN。
非0的有限数被0除,结果为infinity
infinity被任何非0数值除,结果是infinity
如果有一个操作数非数值,则调用number()将其转换为数值。
3.求模:
infinity%5=NaN
5%0=NaN
0 %0=NaN。
5%infinity=5
0%5=0
如果有一个操作符不是数值,则调用number()转换为数值。
4.加法:
如果有一个操作数为NaN,结果为NaN
infinity+infinity=infinity
infinity-infinity=NaN
如果两个操作数中存在字符串,则拼接字符串(有数值也会被转换为字符串)
5.减法:
如果有一个操作符是NaN,结果为NaN;
如果是infinity-infinity=NaN;
infinity+infinity=infinity;
-infinity-infinity=-infinity;
如果一个操作数是字符串,Boolean,null或undefined,则先调用number()将其转换为数值。
总结:当有操作数为NaN时,结果为NaN.
当除法和求模时,如果除数为0,则结果为NaN。(:例外
infinity/0=infinity,5/0=infinity)