(3) 乘法 符合(*)
var box = 10*70; //结果为700
var box = 1*NaN //结果为NaN 如果一个操作符是NaN 就为NaN
var box = Infinity * Infinity //结果为 Infinify
var box = -Infinity*- Infinity //结果为Infinify
var box = Infinity * -Infinity // 结果为-Infinity
var box = 10*true; // 结果为100,true转成数值为1
var box = 10* “ ”; // 结果为0 “ ”转成了0
var box = 10*null; // 结果为0 null转成了0
var box = 10*“lee”; // 结果为NaN lee转成了NaN
var box = 10* 对象; // 结果为NaN
小结
a如果操作数都是数值,执行常规的乘法计算,俩个正数或者两个负数相乘结果为正数,如果有一个操作符有符合,结果为负数。如果超过ECMAScript的数值范围,则返回Infinity或者-Infinity。
b如果一个操作符是NaN结果就是NaN
c 如果是Infinity与0相乘,则结果是NaN;
d 如果是Infinity与非0相乘,则结果是Infinity或者-Infinity,取决于符号操作数的符合。
e 如果Infinity * Infinity,结果是Infinity。
f 如果一个操作数不是数值,则在后台调用Number() 将其转换为数值,在应用上面的规则
(4) 除法(/)
var box = 10/7; //结果为1.42
var box = 1/NaN //结果为NaN 如果一个操作符是NaN 就为NaN
var box = Infinity / Infinity //结果为 NaN
var box = -Infinity/- Infinity //结果为NaN
var box = Infinity /-Infinity // 结果为NaN
var box = 10/true; // 结果为100,true转成数值为1
var box = 10/ “ ”; // 结果为Infinity
var box = 10/null; // 结果为Infinity
var box = 10/“lee”; // 结果为NaN lee转成了NaN
var box = 10/ 对象; // 结果为NaN
小结
a如果操作数都是数值,执行常规的除法计算,俩个正数或者两个负数相除结果为正数,如果有一个操作符有符合,结果为负数。如果超过ECMAScript的数值范围,则返回Infinity或者-Infinity。
b如果一个操作符是NaN结果就是NaN
c 如果是Infinity被Infinity除,则结果是NaN
d 如果是零被零除,则结果是NaN
e如果是非零的有限数被零除,则结果是Infinity或者-Infinity,取决于符号操作数的符合
f如果是Infinity被任何非零数值除,则结果是Infinity或者-Infinity,取决于符号操作数的符合
f 如果Infinity * Infinity,结果是Infinity
d 如果一个操作数不是数值,则在后台调用Number() 将其转换为数值,在应用上面的规则
(5) 求模(取余%)
var box = 10%3; //结果为1
var box = 1%NaN //结果为NaN
var box = Infinity %Infinity //结果为 NaN
var box = -Infinity%- Infinity //结果为NaN
var box = Infinity%-Infinity // 结果为NaN
var box = 10%true; // 结果为0
var box = 10%“ ”; // 结果为Nan
var box = 10%null; // 结果为NaN
var box = 10%“lee”; // 结果为NaN
var box = 10%对象; // 结果为NaN
小结
a如果操作数都是数值,执行常规的除法计算,返回除得的余数
b如果被除数是无穷大值而除数是有限值,结果就是NaN
c 如果被除数是有限大的数值而除数是0,则结果是NaN
d 如果Infinity被Infinity除,则结果是NaN
e如果被除数是有限大的数值而除数是无穷大的数值,则结果是被除数
f如果被除数是零,则结果是零
d 如果一个操作数不是数值,则在后台调用Number() 将其转换为数值,在应用上面的规则
ps:【哭笑】求模看的我晕乎乎的,总算把加减乘除取余整理完了,看完有种小学没毕业的错觉