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

Mic*_*ski 4 javascript numbers infinity

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

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

    Number.isFinite(number)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 比较Infinity

    Math.abs(number) !== Infinity
    
    Run Code Online (Sandbox Code Playgroud)

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

  3. 比较Number.POSITIVE_INFINITY

    Math.abs(number) !== Number.POSITIVE_INFINITY
    
    Run Code Online (Sandbox Code Playgroud)

使用这三种方法有什么区别吗?我假设它Infinity是只读的,如 ECMAScript 5 规范中所述。

geo*_*org 6

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