跳到主要内容

javascript 中怎样以可靠的方式判断 NaN

· 阅读需 2 分钟

定义

NaN 是 JavaScript 的特殊值,表示“非数字”(Not a Number),主要出现在将字符串解析成数字出错的场合。

注意

NaN 不是一种独立的数据类型,而是一种特殊数值,它的数据类型依然属于 Number,使用 typeof 运算符可以看得很清楚。

typeof NaN // 'number'

运算规则

NaN 不等于任何值,包括他本身

NaN === NaN // false

[NaN].indexOf(NaN) // -1

Boolean(NaN) // false

isNaN(NaN) // true
isNaN(123) // false

可靠的方式判断

利用它的特点,NaN 是 JavaScript 之中唯一不等于自身的值

function myIsNaN(value) {
return value !== value;
}