可直接采用内置方法 isNaN
function isNaN(n) {
if (n !== n) {
return true;
} else {
return false;
}}
或者---
console.log(isNaN('1531sad')) //true
console.log(isNaN('1531')) //false
object.is 方法
console.log(Object.is("a", NaN));
console.log(Object.is(1, NaN));
console.log(Object.is(NaN, NaN));
indexOf,它内部使用的是===来做比较,如下:
[NaN].indexOf(NaN) // -1
includes 实现
[NaN].includes(NaN) // true
封装函数
function myIsNaN(value) {
return value !== value;
}
myIsNaN(1) // false
myIsNaN('1') // false
myIsNaN(null) // false
myIsNaN(undefined) // false
myIsNaN([]) // false
myIsNaN({}) // false
myIsNaN([1]) // false
myIsNaN(['1']) // false
myIsNaN(['xyz']) // false
myIsNaN(NaN) // true