有些奇怪的事。
为什么
isNaN("")
我得到False
但
parseInt("")
我得到NaN
?
答案 0 :(得分:20)
isNaN
以整数作为参数 - 因此JS将""
转换为0
parseInt
将字符串作为参数 - 因此空字符串不是数字
答案 1 :(得分:0)
这是因为""
在JavaScript中相当于零。试试"" == 0
。这意味着如果你尝试用数值方程对它进行评估,那么它就会变为0.当你解析它时,它会意识到那里什么也没有。
作为parseInt
的替代方案,您可以使用Math.floor
。这将为0
提供""
。