Javascript isFinite(Number.MAX_VALUE+;1)是否返回true?
我正在学习JavaScript,书中有一个例子:Javascript isFinite(Number.MAX_VALUE+;1)是否返回true?,javascript,numbers,max,Javascript,Numbers,Max,我正在学习JavaScript,书中有一个例子: <!DOCTYPE html> <html> <head> <title>Number Example 2</title> <script type="text/javascript"> var result = Number.MAX_VALUE + 1; alert(isFinite(result)); // the
<!DOCTYPE html>
<html>
<head>
<title>Number Example 2</title>
<script type="text/javascript">
var result = Number.MAX_VALUE + 1;
alert(isFinite(result)); // the book says it should be false, but I got "true"
</script>
</head>
<body>
</body>
</html>
数字示例2
var结果=Number.MAX_值+1;
警报(isFinite(result));//书上说应该是假的,但我说的是“真的”
我收到运行此代码的警报消息“true”,有什么问题吗?
Number.MAX\u VALUE
加上任何其他值返回Number.MAX\u VALUE
例如,下面的语句是true
:
Number.MAX_VALUE + 1 === Number.MAX_VALUE + 2
Number.MAX_VALUE + 1 === Number.MAX_VALUE + 999999
既然如此,下面的陈述也是正确的:
Number.MAX_VALUE + 1 === Number.MAX_VALUE + 2
Number.MAX_VALUE + 1 === Number.MAX_VALUE + 999999
在某些情况下,该语句会变成false
,尽管:
Number.MAX_VALUE + 1 === Number.MAX_VALUE + 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 // true
但是再添加一个9
将返回false
:
Number.MAX_VALUE + 1 === Number.MAX_VALUE + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 // false
但是,如果我们将Number.MAX\u VALUE
添加到自身,它将返回以下内容:
Number.MAX_VALUE + (Number.MAX_VALUE) === Infinity
有点棘手的是乘法。当我们将Number.MAX_值
与任何高于1的值相乘时,它返回无穷大
Number.MAX_VALUE * 1.00000001 === Infinity
Number.MAX\u VALUE+1==Number.MAX\u VALUE
。这本书完全错了。不。尝试使用较大的值。Number.MAX_值+1==Number.MAX_值+X
在X=1e+291
和X=1e+292
之间的某个位置变为假(而Number.MAX_值
为1.7976931348623157e+308
)。