isFinite()
**isFinite()
** 函数确定一个值是否为有限值,如有必要,首先将该值转换为数字。有限数是指不是 NaN
或 ±Infinity
的数。因为 isFinite()
函数内部的强制转换可能会 令人惊讶,所以您可能更愿意使用 Number.isFinite()
。
试一试
语法
js
isFinite(value)
参数
值
-
要测试的值。
返回值
描述
isFinite()
是全局对象的函数属性。
当 isFinite()
函数的参数不是 Number 类型时,该值首先会被强制转换为数字,然后将结果值与 NaN
和 ±Infinity 进行比较。这与 isNaN
的行为一样令人困惑——例如,isFinite("1")
为 true
。
Number.isFinite()
是一种更可靠的方法来测试一个值是否为有限数值,因为它对于任何非数字输入都返回 false
。
示例
使用 isFinite()
js
isFinite(Infinity); // false
isFinite(NaN); // false
isFinite(-Infinity); // false
isFinite(0); // true
isFinite(2e64); // true
isFinite(910); // true
// Would've been false with the more robust Number.isFinite():
isFinite(null); // true
isFinite("0"); // true
规范
规范 |
---|
ECMAScript 语言规范 # sec-isfinite-number |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。