有多种方法可以检查数字是否有限。
使用Number.isFinite()
功能:
Number.isFinite(number)
与Infinity
比较:
Math.abs(number) !== Infinity
我在这里使用Math.abs()
,以防数字为-Infinity
。
Math.abs(number) !== Number.POSITIVE_INFINITY
使用这三种方法有什么区别吗?我假设Infinity
是只读的,如ECMAScript 5规范中所述。
答案 0 :(得分:2)
2和3是相同的,因为Number.POSITIVE_INFINITY === Infinity
。 1和2将以不同方式处理NaN
,请参阅http://www.ecma-international.org/ecma-262/6.0/#sec-number.isfinite