使用Number.isFinite()vs与Infinity比较vs与Number.POSITIVE_INFINITY比较来检查数字是否有限

时间:2016-05-20 21:22:07

标签: javascript numbers infinity

有多种方法可以检查数字是否有限。

  1. 使用Number.isFinite()功能:

    Number.isFinite(number)
    
  2. Infinity比较:

    Math.abs(number) !== Infinity
    

    我在这里使用Math.abs(),以防数字为-Infinity

  3. Number.POSITIVE_INFINITY比较:

    Math.abs(number) !== Number.POSITIVE_INFINITY
    
  4. 使用这三种方法有什么区别吗?我假设Infinity是只读的,如ECMAScript 5规范中所述。

1 个答案:

答案 0 :(得分:2)

2和3是相同的,因为Number.POSITIVE_INFINITY === Infinity。 1和2将以不同方式处理NaN,请参阅http://www.ecma-international.org/ecma-262/6.0/#sec-number.isfinite