javascript中算术运算符规则

时间:2021-12-26 14:20:25

javascript中提供了几种算术运算符,+(加)  -(减)  *(乘)  /(除)  %(余),常规用法与数学上的一致;  但还规定一些特殊规则:

  注:JavaScript中保存数值的方式,可以保存正零(+0)和负零(-0);正零与负零被认为相等。

乘性操作符(*):

  如果结果太大或太小,那么生成的结果是 Infinity 或 -Infinity。

  如果某个运算数是 NaN,结果为 NaN。

  Infinity 乘以 0,结果为 NaN

  Infinity 乘以 0 以外的任何数字,结果为 Infinity 或 -Infinity。

  Infinity 乘以 Infinity,结果为 Infinity。

  若果一个数不是数值,则在后台调用Number()将其转换为数值,然后再应用上面规则;

除性操作符(/):

  如果结果太大或太小,那么生成的结果是 Infinity 或 -Infinity。

  如果某个运算数是 NaN,结果为 NaN。

  Infinity 被 Infinity 除,结果为 NaN。

  Infinity 被任何数字除,结果为 Infinity。

  0 除一个任何非无穷大的数字,结果为 NaN。

  Infinity 被 0 以外的任何数字除,结果为 Infinity 或 -Infinity

  若果一个数不是数值,则在后台调用Number()将其转换为数值,然后再应用上面规则;

取模运算符(%):

  如果被除数是 Infinity,或除数是 0,结果为 NaN。

  Infinity 被 Infinity 除,结果为 NaN。

  如果除数是无穷大的数,结果为被除数。

  如果被除数为 0,结果为 0。

加法运算符(+):

  某个运算数是 NaN,那么结果为 NaN。

  -Infinity 加 -Infinity,结果为 -Infinity。

  Infinity 加 -Infinity,结果为 NaN。

  +0 加 +0,结果为 +0。

  -0 加 +0,结果为 +0。

  -0 加 -0,结果为 -0。

  如果某个运算数是字符串,采用下列规则:

  如果两个运算数都是字符串,把第二个字符串连接到第一个上。

  如果只有一个运算数是字符串,把另一个运算数转换成字符串,结果是两个字符串连接成的字符串

减法操作符(-):

  某个运算数是 NaN,那么结果为 NaN。

  Infinity 减 Infinity,结果为 NaN。

  -Infinity 减 -Infinity,结果为 NaN。

  Infinity 减 -Infinity,结果为 Infinity。

  -Infinity 减 Infinity,结果为 -Infinity。

  +0 减 +0,结果为 +0。

  -0 减 -0,结果为 -0。

  +0 减 -0,结果为 +0。

  某个运算符不是数字,那么结果为 NaN。