如何判断 NaN?

NaN在JavaScript的Number类型中是一个特殊值,表示“非数字”。它不等于自身,这是其独特之处。可以使用isNaN函数、Number.isNaN方法以及Object.is方法来判断一个值是否为NaN。Number.isNaN相比于isNaN的区别在于它不会进行类型转换。
摘要由CSDN通过智能技术生成

在JavaScript的数字类型Number中还有个特殊的存在NaN,为什么NaN!==NaN?我们如何判断一个值是否等于NaN呢?

NaN全称是Not-A-Number(不是一个数字),我们可以通过Number.NaN来获得一个NaN,在类型转换失败时,我们常常会得到一个NaN,需要注意的是,NaN是JS中唯一一个自身不相等的存在。

利用 NaN 是唯一个不等于任何自身的特点

var a=NaN;

a==a; //false

1.NaN 不是一个数字且数据类型为 number,而且不等于自身 
 可直接采用内置方法 isNaN


function isNaN(n) {
if (n !== n) {
return true;
} else {
return false;
}}

2.ES6中提供了一个Number.isNaN()方法用于判断一个值是否严格等于NaN:

Number.isNaN(NaN)//true

3.与isNaN最大的区别是,Number.isNaN不存在转换类型的行为,这点是最大的不同:

isNaN(NaN) //true
Number.isNaN(NaN) //true

4.object.is 方法

console.log(Object.is("a", NaN));
console.log(Object.is(1, NaN));
console.log(Object.is(NaN, NaN));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值