javascript - 为什么 Number.isNaN() 对字符串返回 false?

标签 javascript nan

根据我的理解,NaN 代表 Not A Number字符串 不一定是数字,因此我希望下面的代码为字符串返回true。然而,事实并非如此。

console.log(Number.isNaN("Stack Overflow"));

有人可以澄清一下吗?

最佳答案

Number.isNaNisNaN 有区别

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/isNaN

The isNaN() function determines whether a value is NaN or not.

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN

The Number.isNaN() method determines whether the passed value is NaN and its type is Number. It is a more robust version of the original, global isNaN().

您返回 false 的原因是“Stack Overflow”不是一个数字,而是一个字符串。

console.log('Number.isNaN("Stack Overflow"): '+Number.isNaN("Stack Overflow"));
console.log('isNaN("Stack Overflow"): '+isNaN("Stack Overflow"));

关于javascript - 为什么 Number.isNaN() 对字符串返回 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45011486/

相关文章:

javascript - AngularJS应用程序不下载文件

jQuery - parseInt() 总是返回 NaN

Python:Pandas Dataframe 如果 ColA 为空且 ColB 包含字符串,则新列显示字符串

javascript - Typeof 错误 - 返回 NaN,即使两者都是数字

python - 如何替换 pandas 上过滤的多列中的 nan 值?

javascript - Bootstrap 容器之外的箭头

javascript - React Redux 中间件的 #store.dispatch(action) 与 #next(action)

javascript - 使用 React/Socket.IO 无法读取未定义错误的属性 'emit'

javascript - 防止 Edge 和 Chrome 更改自动成形上的颜色

python - 如何将具有相同索引的多行组合在一起,并且每一行在pandas中只有一个真实值?