为什么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/