跳到主要内容

简述JavaScript 中的 NaN 是什么?

参考答案:

在 JavaScript 中,NaN 是一个特殊的值,代表 "Not a Number"(非数字)。当你尝试进行一些数学运算,但结果不是一个合法的数字时,JavaScript 就会返回 NaN

例如,如果你尝试将一个字符串(除非它是一个有效的数字字符串)除以一个数字,或者对一个非数字值执行数学运算,那么结果就会是 NaN

以下是一些返回 NaN 的示例:

0 / 0; // NaN
"abc" * 10; // NaN
Math.sqrt(-1); // NaN

需要注意的是,NaN 是一个特殊的值,它与其他任何值(包括其自身)比较都会返回 false。为了检查一个值是否是 NaN,你应该使用 isNaN() 函数或 Number.isNaN() 函数。

例如:

console.log(NaN == NaN); // false
console.log(isNaN(NaN)); // true
console.log(Number.isNaN(NaN)); // true

注意:isNaN() 函数在某些情况下可能会产生误导性的结果,因为它也会将某些非数字字符串(如 "abc")解析为数字,然后返回 false。因此,对于更严格的检查,建议使用 Number.isNaN()