面试题答案
一键面试- 代码演示:
let num1 = Number.MAX_SAFE_INTEGER;
let num2 = 1;
let result = num1 + num2;
console.log(result);
- 解释:
- 在JavaScript中,
Number.MAX_SAFE_INTEGER
表示可以安全进行整数运算的最大数。它的值是9007199254740991
。 - 当对一个接近
Number.MAX_SAFE_INTEGER
的极大数值进行加法操作时,如果超过了安全整数范围,结果可能会失去精度。在上述代码中,num1
是Number.MAX_SAFE_INTEGER
,num2
为1,相加后理论上应该是9007199254740992
,但由于超出了安全整数范围,JavaScript会以浮点数的形式来表示这个结果,导致结果为9007199254740992
(在这个特定情况下,结果看似正确,但如果进行更复杂的运算,精度问题可能会更明显)。这是因为JavaScript使用IEEE 754双精度浮点数格式来表示数字,对于极大或极小的数值,这种格式在表示整数时存在精度限制。
- 在JavaScript中,