使这两个函数对于无穷大和无穷大的行为有什么不同的原因。有没有人发现这种不一致有用吗?
parseInt(Infinity); // NaN
parseFloat(Infinity); // Infinity
答案 0 :(得分:5)
这个问题的答案恰好在两个函数的规范中:
parseInt获取字符串参数。
如果第一个字符无法转换为数字,则parseInt返回NaN。
parseFloat也可以解析并返回值Infinity。您可以使用isFinite函数来确定结果是否为有限数(不是Infinity,-Infinity或NaN)。
parseInt
无法返回infinity
,因为infinity
不在JavaScript的整数范围内。而它在浮点范围内是有效的。
至于有用的?我不能说。在我工作的域中,NaN
表示发生了错误,我不相信我曾使用infinity