Number.isNaN() 判断是否为 NaN
最后更新:2026-09-09
Number.isNaN() 判断是否为 NaN
Number.isNaN 判断一个值是否为 NaN。NaN 是唯一不等于自身的值——不能用 === 判断。
| 分类 | 全局函数 |
|---|---|
| ES 版本 | ES2015 |
📝 语法
Number.isNaN(值);
⚙️ 参数
| value | 要检测的值。 |
|---|
返回值:布尔值。
是否修改原值:否(返回新值)
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
true
false
false
true
💡 提示 NaN === NaN 是 false——判断 NaN 必须用 Number.isNaN()。
⚠️ 警告 全局 isNaN() 会先转类型(isNaN('hello') 是 true)——Number.isNaN() 不转,更精确。
🌐 浏览器支持
| 浏览器 | |||||
|---|---|---|---|---|---|
| Number.isNaN() | ✓ v32 | ✓ v12 | ✓ v27 | ✓ v8 | ✓ v19 |
| 所有现代浏览器均支持 | |||||
🏷️ 相关条目
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Q为什么 NaN 不等于 NaN?
AIEEE 754 标准规定 NaN 表示未定义或不可表示的值——两个未定义的值不应该相等。
QisNaN 和 Number.isNaN 的区别?
AisNaN 先转类型再判断(isNaN('hello') 是 true);Number.isNaN 不转(更精确)。
Q什么情况会产生 NaN?
A数学运算的操作数不是数字、parseInt/parseFloat 解析失败、0/0。