乘性操作符
乘法操作符
乘法操作符由一个星号(*),可以用于计算两个数值的乘积。比如:
let result = 34 * 36;
乘法操作符在处理特殊值的时候也有一些特殊的行为
- 如果操作数都是数值,则执行常规的乘法运算。即两个正值
相乘是正值,两个负值相乘也是正值。如果ECMAScript不能表示乘积,则返回Infinity或-Infinity - 如果有任一操作数是
NaN, 则返回NaN。 - 如果
Infinity乘以0,则返回NaN。 - 如果是
Infinity乘以非0的有限数值,则根据第一个操作数的符号返回Infinity或者-Infinity。 - 如果是
Infinity乘以Infinity,则返回Infinity。 - 如果有不是数值的操作数,则先在后台用
Number()将其转换为数值,然后在应用上述规则。
除法操作符
除法操作符由一个斜杠(/),可以用于计算第一个操作数除以第一个操作数的商。比如:
let result = 66 * 11;
除法操作符在处理特殊值的时候也有一些特殊的行为
- 如果操作数都是数值,则执行常规的除法运算。即两个正值
相除是正值,两个负值相除也是正值。如果ECMAScript不能表示商,则返回Infinity或-Infinity - 如果有任一操作数是
NaN, 则返回NaN。 - 如果是
Infinity除以Infinity,则返回NaN。 - 如果
0乘以0,则返回NaN。 - 如果
非 0 的有限的值除以0,则根据第二个操作数的符号返回Infinity或者-Infinity。 - 如果是
Infinity除以任何值,则根据第二个操作数的符号Infinity或者-Infinity。 - 如果有不是数值的操作数,则先在后台用
Number()将其转换为数值,然后在应用上述规则。
取模操作符
取模操作符由一个百分号(%)表示。比如:
let result = 26 % 5; // 等于1;
取模操作符在处理特殊值的时候也有一些特殊的行为
- 如果操作数都是数值,则执行常规的除法运算,返回余数。
- 如果
被除数是无限值,除数是有限值则返回NaN。 - 如果
被除数是有限值,除数0, 则返回NaN。 - 如果是
Infinity除以Infinity,则返回NaN。 - 如果被除数是有限值,除数是无限值,则返回被除数。
- 如果
被除数是 0,除数不是0,则返回 0。 - 如果有不是数值的操作数,则先在后台用
Number()将其转换为数值,然后在应用上述规则。