Number.isFinite()

基线 广泛可用

此功能已得到完善,可在许多设备和浏览器版本上运行。它自以下时间在所有浏览器中可用 2015 年 7 月.

Number.isFinite() 静态方法确定传递的值是否为有限数字 - 也就是说,它检查给定值是否为数字,并且该数字既不是正 Infinity,也不是负 Infinity,也不是 NaN

尝试一下

语法

js
Number.isFinite(value)

参数

value

要测试其有限性的值。

返回值

如果给定值为有限数字,则为布尔值 true。否则为 false

示例

使用 isFinite()

js
Number.isFinite(Infinity); // false
Number.isFinite(NaN); // false
Number.isFinite(-Infinity); // false

Number.isFinite(0); // true
Number.isFinite(2e64); // true

Number.isFinite() 和全局 isFinite() 之间的区别

与全局 isFinite() 函数相比,此方法不会首先将参数转换为数字。这意味着只有类型为数字 *并且* 是有限数字的值才返回 true,而非数字始终返回 false

js
isFinite("0"); // true; coerced to number 0
Number.isFinite("0"); // false
isFinite(null); // true; coerced to number 0
Number.isFinite(null); // false

规格

规范
ECMAScript 语言规范
# sec-number.isfinite

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅