为什么isNaN等于false?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (51)

有一个简短的问题。在JS中,为什么isNaN(" ")评估是错误的,但是isNaN(" x")评估为真?

提问于
用户回答回答于

JavaScript将空字符串解释为0,然后isNAN测试失败。您可以先对字符串使用parseInt,这不会将空字符串转换为0。结果应该失败是NAN。

用户回答回答于

可以展示JavaScript

document.write(isNaN("")) // false
document.write(isNaN(" "))  // false
document.write(isNaN(0))  // false
document.write(isNaN(null)) // false
document.write(isNaN(false))  // false
document.write("" == false)  // true
document.write("" == 0)  // true
document.write(" " == 0)  // true
document.write(" " == false)  // true
document.write(0 == false) // true
document.write(" " == "") // false

所以这意味着

" " == 0 == false
"" == 0 == false
"" != " "

扫码关注云+社区