【问题标题】:isNaN() vs. parseInt() confusionisNaN() 与 parseInt() 混淆
【发布时间】:2012-01-06 11:52:51
【问题描述】:

有些奇怪。

为什么
isNaN("") 我得到False
但是
parseInt("") 我得到NaN
?

【问题讨论】:

标签: javascript


【解决方案1】:

isNaN 将整数作为参数 - 因此 JS 将 "" 转换为 0

parseInt 将字符串作为参数 - 因此空字符串不是数字

【讨论】:

【解决方案2】:

这是因为"" 在 JavaScript 中等于零。试试"" == 0。这意味着,如果您尝试在数值方程中对其进行评估,它将显示为 0。另一方面,当您对其进行解析时,它会意识到那里什么都没有。

作为parseInt 的替代品,您可以使用Math.floor。这将为您提供0 for ""

【讨论】:

  • “等价”到底是什么意思?
猜你喜欢
  • 2016-01-14
  • 2014-07-09
  • 1970-01-01
  • 2016-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多