JavaScript Number isNaN() 方法

定义和用法

在 JavaScript 中,NaN 是 "Not-a-Number" 的缩写。

在 JavaScript 中,NaN 是不合法的数字。

如果值为 NaN 且类型为 Number,则 Number.isNaN() 方法返回 true。

另请参阅:

NaN() 属性

全局 isNaN() 方法

实例

例子 1

检查值是否为 Number.NaN:

Number.isNaN(123);
Number.isNaN(-1.23);
Number.isNaN('123');
Number.isNaN(0/0);

亲自试一试

例子 2

Number.isNaN(5-2);
Number.isNaN(0);
Number.isNaN('Hello');
Number.isNaN('2005/12/12');
Number.isNaN(' ');

亲自试一试

例子 3

检查值是否为 Number.NaN:

Number.isNaN(false);
Number.isNaN(true);
Number.isNaN(undefined);
Number.isNaN('NaN');
Number.isNaN(NaN);

亲自试一试

语法

Number.isNaN(value)

参数

参数 描述
value 必需。要测试的值。

返回值

类型 描述
布尔值。 如果值为 Number.NaN,则为 true;否则为 false

isnan() 和 Number.isnan() 之间的区别

如果是非数字,则 isNaN() 方法返回 true

如果是非数字,则 Number.isNaN() 返回 true

换句话说:isNaN() 在测试之前先将值转换为数。

实例

isNaN('Hello');		// 返回 true

亲自试一试

Number.isNaN('Hello');	// 返回 false

亲自试一试

浏览器支持

Number.isNaN() 是 ECMAScript6 (ES6) 特性。

所有现代浏览器都支持 ES6 (JavaScript 2015):

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
支持 支持 支持 支持 支持

Internet Explorer 11(或更早版本)不支持 Number.isNaN()