js中Number.isNaN和全局isNaN方法有什么区别(面试题)

全局isNaN:es5中的方法,在使用时,会尝试把括号里面的内容转换为数字,如果转换不成数字,则转换成NaN。
Number.isNaN:es6新出的方法,在es5上做了优化,不会尝试把括号里面的内容转换为数字。

console.log(isNaN("NaN") == true) //true
console.log(Number.isNaN("NaN") == true) //false

使用isNaN时,首先字符串NaN会尝试转换成数字,转换不了数字,所以就转换成NaN,那么这个比较也就会成立,返回true
使用Number.isNaN,字符串NaN不会进行转换,那么字符串不是数字类型,所以返回false,所以这个比较不会成立,返回false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值