isNaN() vs. parseInt() confusion

isNaN() vs. parseInt() confusion

本文关键字:confusion parseInt vs isNaN      更新时间:2023-09-26

有点奇怪。


为什么对于isNaN(""),我得到False

parseInt("")得到NaN

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

parseInt接受字符串作为参数——因此空字符串不是数字

这是因为""在JavaScript中相当于0。试试"" == 0。这意味着如果你试着在数值方程中求值,结果会是0。另一方面,当您解析它时,它会发现那里没有任何内容。

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