NaN, isNaN()和Number.isNaN()

NaN

定义: 全称是 not a number , 代表非数字。在JavaScript中整数浮点数都是Number类型。

特性1:

console.log(typeof NaN) //number

特性2:不等于自身

console.log(NaN == NaN) //false
console.log(NaN === NaN) //false

什么时候会出现NaN?

1.两个非数值的数进行运算

console.log('a' - 1) //NaN
console.log('a' + 1) //a1 (字符串的拼接)
console.log('a' - 'b') //NaN
console.log(Boolean - 2) //NaN

2.与NaN运算结果都是NaN

console.log(NaN + 'a') //NaNa (字符串的拼接)
console.log(NaN - 'a') //NaN
console.log(NaN + 3) //NaN
console.log(NaN - 3) //NaN

全局方法 isNaN()

如果传入的值不能转化为数字,返回true,否则返回false。换个说法,里面是NaN返回true,否则返回false。

const a = '12';
console.log(isNaN(a)) //false
const b = 'hi';
console.log(isNaN(b)) //true
const c = 12;
console.log(isNaN(c)) //false

Number.isNaN()

更加严格地判断是否是非数字,没有转化成数字的概念

console.log(Number.isNaN('12')) //false
console.log(Number.isNaN('h1')) //false
console.log(Number.isNaN(12)) //false
console.log(Number.isNaN('a' - 'b')) //true
console.log(Number.isNaN('a' - 1)) //true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值