NaN(Not a Number)在 JavaScript 中表示一个无效的数值,是无法作为数字解读的一个特殊值。 NaN 通常是由于对非数值字符串进行数学运算、对空值或未定义值进行数学运算、尝试将非数字转换为数字或对数字进行无效操作而产生的。使用 isNaN() 函数可以检查一个值是否是 NaN,而 NaN 具有不等于任何其他值(包括自身)、无法通过比较运算符进行比较以及是唯一的非有限值等特殊属性。处理 NaN 时,可以采取检查输入、使用 isNaN() 函数识别和处理、使用默认值或备用逻辑等

什么是 NaN?
NaN(Not a Number)在 JavaScript 中表示一个无效的数值。它是一个特殊的数值,表示某个值无法作为数字进行解读。
NaN 是如何产生的?
以下是一些常见的导致 NaN 产生的情况:
- 对非数值字符串进行数学运算,例如:
"hello" + 1 - 对空值或未定义值进行数学运算,例如:
undefined * 5 - 尝试将非数字转换为数字,例如:
parseInt("foo") - 对一个数字进行无效的操作,例如:
Math.sqrt(-1)
识别 NaN
您可以使用 isNaN() 函数来检查一个值是否是 NaN。该函数返回一个布尔值,指示该值是否为 NaN:
自从百度屏蔽淘宝客网站、淘宝抛弃淘宝客之后,个人站长集体陷入了恐慌之中。此时,什么值得买网的异军突起引起了广大个人站长的极大关注。做一个什么值得买一样的导购网站成了众多个人站长的一致心愿! TP-COUPON 导购系统 即是让个人站长实现此心愿的绝佳选择! 欢迎个人站长选用。V1.1版 更新记录:1.修正请求时查询淘宝店铺错误的bug2.删除一些无用的代码
console.log(isNaN(NaN)); // true console.log(isNaN(123)); // false
NaN 的特殊属性
NaN 具有以下特殊属性:
- NaN 不等于任何其他值,包括本身:
NaN !== NaN - NaN 无法通过比较运算符(==、!=、>、=、
- NaN 是 JavaScript 中唯一的非有限(不是正无穷大或负无穷大)值
处理 NaN
当您遇到 NaN 时,可以采取以下步骤:
- 检查输入并确保所有值都是有效的数字
- 使用
isNaN()函数识别和处理 NaN 值 - 使用默认值或备用逻辑来处理 NaN 值









