请问为啥我在chrome下的控制台调用isFinite方法传入一个超出数值范围的变量会输出true

题设错误。Number.Max_Value 与 Number.Min_Value 都是 undefined ,加和为 NaN ,调用 isFinite(NaN) 即为 false。有文为证:18.2.2isFinite (number) The isFinite function is the %isFinite% intrinsic object. When the isFinite function is called with one argument number, the following steps are taken:
Let num be ?ToNumber(number).If num is NaN, +∞, or -∞, return false.Otherwise, return true. https://www.ecma-international.org/ecma-262/7.0/#sec-isfinite-numberBpLGQb
■网友
isFinite(Number.MAX_VALUE) =\u0026gt; trueNumber.MAX_VALUE + Number.MIN_VALUE =https://www.zhihu.com/api/v4/questions/54828750/== Number.MAX_VALUE =/u0026gt; trueisFinite(Number.MAX_VALUE + Number.MIN_VALUE) =/u0026gt; trueNumber.MAX_VALUE + 9.979201e291 === Number.MAX_VALUE =/u0026gt; trueNumber.MAX_VALUE + 9.979202e291 === Number.MAX_VALUE =/u0026gt; falseisFinite(Number.MAX_VALUE + 9.979201e291) =/u0026gt; trueisFinite(Number.MAX_VALUE + 9.979202e291) =/u0026gt; false 【请问为啥我在chrome下的控制台调用isFinite方法传入一个超出数值范围的变量会输出true】 算是四舍五入的问题,具体请参考:Adding to Number.MAX_VALUE


    推荐阅读