isNan
时间: 2023-08-12 13:06:57 浏览: 58
`isNaN` 是 JavaScript 内置函数之一,用于判断一个值是否为 `NaN`(Not a Number)。`NaN` 是一个特殊的数值类型,表示非数字的值。如果传入的参数是 `NaN`,则返回 `true`,否则返回 `false`。需要注意的是,`isNaN` 函数会先尝试把参数转化为数值类型,如果无法转化,则返回 `true`。
例如:
```
isNaN(NaN); // true
isNaN("hello"); // true
isNaN("123"); // false
isNaN(undefined); // true
isNaN(null); // false
```
需要注意的是,在 ES6 之前,`isNaN` 函数的实现是有问题的。因为它会先尝试将参数转化为数值类型,如果参数是字符串类型,而且字符串中有非数字字符,那么它会把字符串转化为 `NaN`,导致判断结果错误。因此,在 ES6 之前,我们通常使用下面的方式来判断一个值是否为 `NaN`:
```
function myIsNaN(value) {
return typeof value === "number" && isNaN(value);
}
```