node.js - nodejs中的isNaN函数

标签 node.js nan

为什么nodejs中的isNaN函数在以下情况下返回false

isNaN(''),isNaN('\n'),isNaN('\t')

这很奇怪。

有人有我认为 isNaN 代表的不是数字的想法吗?

谁能解释一下

提前致谢!

最佳答案

因为你没有传递给它一个数字,它会将它转换为数字。所有这些都转换为 0 这是 0 而不是 NaN

Number('')
0
Number('\n')
0
Number('\t')
0
isNaN(0)
false

请注意,NaN 不代表“不是 JavaScript 数字”。 In fact it's completely separate from JavaScript并且存在于所有支持 IEEE-754 float 的语言中。

如果你想检查某个东西是否是一个javascript数字,检查是

if (typeof value === "number") {

}

关于node.js - nodejs中的isNaN函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24078017/

相关文章:

node.js - openShift Node 版本上的 meteor

python - Pandas/Numpy NaN None 比较

python - 当存在 unicode 值时计算 NaN

r - Dplyr产生NaN,而碱基R产生NA

python - 我如何找到 : Is the first non-NaN value in each column the maximum for that column in a DataFrame?

sql - 如何在 Hive 中过滤掉具有 NaN 值的行?

javascript - Mongoose - 填充数组类型嵌套对象时的 .populate 问题

node.js - 安装 node.JS 时,node.js 运行时和 npm 包管理器选项有什么区别?

javascript - 断开连接后访问套接字对象

node.js - Mongoose:使用一个模型时处理多个数据库