在JavaScript中,为什么要isNaN(" ")评估为false,但要isNaN(" x")评估为true?
isNaN(" ")
false
isNaN(" x")
true
我在一个文本输入字段进行数字运算,和我正在检查该字段为null,""或NaN。当有人在该字段中输入几个空格时,我的验证在这三个字段上均失败,并且我对为什么它无法通过isNaN检查感到困惑。
null
""
NaN
isNaN
JavaScript将一个空字符串解释为0,然后失败了isNAN测试。您可以先在字符串上使用parseInt,它不会将空字符串转换为0。然后结果应为isNAN。