1.首先isNaN 缺点:直接判断的时候对象和字符串会返回true,但是并不是NaN。因此利用NaN是无法正确比较该变量是否为NaN
2.利用NaN的特点进行比较,因为NaN和任何值比较都是false包括和自己,因此可以利用传入的参数和自己比较即可得到是否该数为NaN,如:
const a = {}
const b = [1]
const c = 2
const d = 'sss'
const e = false
const f = NaN
// 定义的函数 判断是否为NaN
function isNaN1(x){
if(x !== x){
return true
}else{
return false
}
}
console.log(isNaN1(a))
console.log(isNaN1(b))
console.log(isNaN1(c))
console.log(isNaN1(d))
console.log(isNaN1(e))
console.log(isNaN1(f))