首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Number.isNaN

Number.isNaN()方法确定传递的值是否为NaN和其类型是Number。它是原始的全局isNaN()的更强大的版本。

语法

代码语言:javascript
复制
Number.isNaN(value)

参数

value要被检测是否是NaN的值。

返回值

一个布尔值,表示给定的值是否是?NaN

描述

在 JavaScript 中,NaN最特殊的地方就是,我们不能使用相等运算符(==?和===)来判断一个值是否是NaN,因为NaN == NaNNaN === NaN都会返回false。因此,必须要有一个判断值是否是NaN的方法。

和全局函数isNaN()相比,该方法不会强制将参数转换成数字,只有在参数是真正的数字类型,且值为NaN的时候才会返回true

示例

代码语言:javascript
复制
Number.isNaN(NaN);        // true
Number.isNaN(Number.NaN); // true
Number.isNaN(0 / 0);      // true

// e.g. these would have been true with global isNaN()
Number.isNaN('NaN');      // false
Number.isNaN(undefined);  // false
Number.isNaN({});         // false
Number.isNaN('blabla');   // false

// These all return false
Number.isNaN(true);
Number.isNaN(null);
Number.isNaN(37);
Number.isNaN('37');
Number.isNaN('37.37');
Number.isNaN('');
Number.isNaN(' ');

Polyfill

NaN不等于自己,也在JavaScript是唯一的价值。

代码语言:javascript
复制
Number.isNaN = Number.isNaN || function(value) { ? ? 
?   return value !== value;
}

规范

Specification

Status

Comment

ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'Number.isnan' in that specification.

Standard

Initial definition.

ECMAScript Latest Draft (ECMA-262)The definition of 'Number.isnan' in that specification.

Living Standard

?

浏览器兼容性

Feature

Chrome

Edge

Firefox

Internet Explorer

Opera

Safari

Basic Support

25

(Yes)

15

No

(Yes)

9

Feature

Android

Chrome for Android

Edge mobile

Firefox for Android

IE mobile

Opera Android

iOS Safari

Basic Support

(Yes)

(Yes)

(Yes)

15

No

(Yes)

9

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com