Skip to main content

乘性操作符

乘法操作符

乘法操作符由一个星号(*),可以用于计算两个数值的乘积。比如:

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()将其转换为数值,然后在应用上述规则。