为什么 parseInt(Infinity) returns NaN 和 parseFloat(Infinity) returns infinity?

Why parseInt(Infinity) returns NaN and parseFloat(Infinity) returns infinity?

使这两个函数对无穷大和-无穷大值表现不同的原因可能是什么。有没有人发现这种不一致有用?

parseInt(Infinity); // NaN
parseFloat(Infinity); // Infinity

这个问题的答案在这两个函数的规范中是正确的:

parseInt 接受一个 string 参数。

If the first character cannot be converted to a number, parseInt returns NaN.

parseFloat

parseFloat can also parse and return the value Infinity. You can use the isFinite function to determine if the result is a finite number (not Infinity, -Infinity, or NaN).

parseInt 不能 return infinity 因为 infinity 不在 JavaScript 的整数范围内。而它在浮点范围内有效。

至于有用?我不能说。在我工作的域中,NaN 表示发生了错误,我不相信我 曾经 使用过 infinity