现在位置: 首页 > JavaScript 参考手册 > 正文

JavaScript Number.isFinite() 方法

Number 对象参考手册 JavaScript Number 对象

实例

检测参数是否为无穷大:

Number.isFinite(123) //true Number.isFinite(-1.23) //true Number.isFinite(5-2) //true Number.isFinite(0) //true Number.isFinite('123') //false Number.isFinite('Hello') //false Number.isFinite('2005/12/12') //false Number.isFinite(Infinity) //false Number.isFinite(-Infinity) //false Number.isFinite(0 / 0) //false

尝试一下 »

定义和用法

Number.isFinite() 是 JavaScript 中的一个内置方法,用于判断一个值是否是有限数值(即是否是一个正常的数字,而非 Infinity、-Infinity 或 NaN)。

isFinite() 是 Number 对象的一部分,用来确保值是一个有效的、有限的数值类型。

提示: 如果 number 是 NaN(非数字),或者是正、负无穷大的数,则返回 false。

Number.isFinite() 与全局的 isFinite() 函数不同,Number.isFinite() 不会进行类型转换,而是严格判断 value 是否为有限的数字。相比之下,isFinite() 方法会首先将其参数转换为数字再进行判断。

1、基本用法

实例

console.log(Number.isFinite(2));        // true: 2 是有限的数字
console.log(Number.isFinite(3.14));     // true: 3.14 是有限的数字
console.log(Number.isFinite(-100));     // true: -100 是有限的数字
console.log(Number.isFinite(1 / 0));    // false: Infinity 不是有限的数字
console.log(Number.isFinite(-1 / 0));   // false: -Infinity 不是有限的数字
console.log(Number.isFinite(NaN));      // false: NaN 不是有限的数字
console.log(Number.isFinite('2'));      // false: '2' 是字符串,非数字

2、Number.isFinite() vs isFinite()

实例

console.log(isFinite(2));         // true: 全局 isFinite 会转换类型
console.log(isFinite('2'));       // true: 字符串 '2' 被转换为数字 2
console.log(Number.isFinite(2));  // true: 2 是有限数字
console.log(Number.isFinite('2'));// false: 字符串 '2' 不是数字类型

3、NaN 和 Infinity

实例

console.log(Number.isFinite(NaN));       // false: NaN 不是有限数字
console.log(Number.isFinite(Infinity));  // false: Infinity 不是有限数字
console.log(Number.isFinite(-Infinity)); // false: -Infinity 不是有限数字

4、类型转换

Number.isFinite() 方法不会自动将传入值转换为数字,因此它在判断时是严格的。对于其他类型的值,它会直接返回 false。

实例

console.log(Number.isFinite(true));     // false: 布尔值 true 不是数字
console.log(Number.isFinite(undefined)); // false: undefined 不是数字
console.log(Number.isFinite(null));     // false: null 不是数字

浏览器支持

方法
Number.isFinite() 19 12.0 16 9 22

语法

Number.isFinite(value)

参数值

参数 描述
value 要判断的值,可以是任意类型的数据(例如:数字、字符串、对象、布尔值等)。

返回值

类型 描述
布尔型 如果 value 是一个有限的数字,返回 true。
如果 value 不是一个有限数字(例如:NaN、Infinity、-Infinity,或者非数字类型),返回 false。

技术细节

JavaScript 版本: ECMAScript 6

Number 对象参考手册 JavaScript Number 对象