isNaN() vs. parseInt() confusion
isNaN() vs. parseInt() confusion
有点奇怪。
为什么对于isNaN("")
,我得到False
但
用parseInt("")
得到NaN
?
isNaN
接受整数作为参数-因此JS将""
转换为0
parseInt
接受字符串作为参数——因此空字符串不是数字
这是因为""
在JavaScript中相当于0。试试"" == 0
。这意味着如果你试着在数值方程中求值,结果会是0。另一方面,当您解析它时,它会发现那里没有任何内容。
作为parseInt
的替代品,您可以使用Math.floor
。这将为""
提供0
。
相关文章:
- 关于 Javascript 中 parseInt() 的说明
- 为什么这是真的:parseInt(1111111111111,2)===parseInt(111111111111,2)
- jquery中出现NaN错误.已经尝试过ParseInt,但仍然不起作用
- parseInt("08") returns 0
- parseInt()方法如何返回整数
- parseInt的行为很奇怪——可能吧
- JS parseInt带逗号的字符串
- getDate() slice() confusion
- 数组上的ParseInt()方法
- 为什么parseInt()比Firefox中的*1慢得多
- 为什么不'将字符串转换为int不正确(parseInt)
- JS parseInt() issue
- parseInt() 出乎意料地等同于 NaN
- Javascript parseInt 函数不起作用
- 在数组上应用 parseInt 会产生奇怪的结果
- 在 JavaScript 中使用 parseFloat() 或 parseInt() 和正则表达式(转换 CSV 文件)
- 即使使用 parseInt,我也无法从输入元素中获取数值
- 为什么parseInt('08')给出0,而parseInt('07')则给出7
- 使用parseInt将整数值添加到字符串中,而不处理动态添加的内容
- isNaN() vs. parseInt() confusion