乘法:(*)
在处理特殊情况时,遵循以下规则:
- 如果操作数都是数值,执行常规的乘法计算。注意:如果乘积超过了ECMAScript数值的表示范围,这返回Infinity或-Infiniy
- 如果有一个操作数是NaN,则结果返回NaN
- 如果是Infinity与0相乘,则结果返回NaN
- 如果是Infinity与非0数值相乘时,则结果为Infinity或-Infinity
- 如果是Infinity与Infinity相乘,则结果是Infinity
-
如果有一个操作数不是数值,则后台调用Number()将其转换为数值,再进行计算
除法:(/)
在处理特殊情况时,遵循以下规则:
- 如果操作数都是数值,执行常规的除法计算。如果商超过了ECMAScript数值的表示范围,这返回Infinity或-Infinity
- 如果有一个操作数是NaN,则结果是NaN
- 如果是Infinity被Infinity除,则结果是NaN
- 如果是0被0除,则结果为NaN
- 如果是非零的有限数被0除,则结果是Infinity或-Infinity
- 如果是Infinity被任何非零值除,则结果是Infinity或-Infinity
-
如果有一个操作数不是数值,则在后台调用Number()将其转换为数值,再进行计算
求模:(%)
在处理特殊情况时,遵循以下规则:
- 如果两个操作数都是数值,执行常规的除法计算,返回除得的余数
- 如果被除数时无穷大值而除数是有限大的数值,这结果是NaN
- 如果被除数是有限大的数值而除数时0,则结果是NaN
- 如果Infinity被Infinity除,则结果是NaN
- 如果被除数是有限大的数值而除数时无穷大的数值,则结果是被除数
- 如果被除数是0,则结果是0
- 如果有一个操作数不是数值,则在后台调用Number()将其转换为数值,在进行计算