为什么 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 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
使这两个函数对无穷大和-无穷大值表现不同的原因可能是什么。有没有人发现这种不一致有用?
parseInt(Infinity); // NaN
parseFloat(Infinity); // Infinity
这个问题的答案在这两个函数的规范中是正确的:
parseInt 接受一个 string 参数。
If the first character cannot be converted to a number, parseInt returns NaN.
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