为什么isNaN等于false?

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

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

有一个简短的问题。在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
"" != " "

所属标签

可能回答问题的人

  • 红双喜经典VS中华

    1 粉丝0 提问10 回答
  • YingJoy_

    43 粉丝0 提问4 回答
  • LemonLu

    社区 · 运营 (已认证)

    45 粉丝0 提问4 回答
  • 13火麒麟

    0 粉丝0 提问4 回答

扫码关注云+社区