如何判断一个值是NaN

Posted on 2020-09-28 00:18  猫头唔食鱼  阅读(2639)  评论(0)    收藏  举报

关于NaN的一些操作:

1.isNaN(n)

let a  = NaN 
console.log(isNaN(a))  // true

 

2.Object.is(n)

let a  = NaN
console.log(Object.is(a,NaN)) // true

 

3.封装成方法:NaN连自己本身都不相等,所以可以利用这个特性来判断这个值是不是NaN

 let isNaNMethod = v=>v!==v && true 
    console.log(isNaNMethod(NaN)); // true
    console.log(isNaNMethod('sdsd')); // false
    console.log(isNaNMethod(3)); // false
    console.log(isNaNMethod('3.233')); // false
    let bq = {name:'zs'}
    console.log(isNaNMethod(bq)); // false

4.判断数组中是否含有NaN

let arr = [1,2,3,NaN]
console.log(arr.includes(NaN))  // true

 

注意:不能用indexOf判断数组中是否含有NaN