【发布时间】:2019-02-15 15:50:54
【问题描述】:
在 javascript 中,数字在内部表示为双精度浮点数,这意味着有 53 位可用于表示整数值。有一个Number.MAX_SAFE_INTEGER 常量说明了这一点,它等于Math.pow(2, 53) - 1。但是,在 javascript 控制台中,我可以输入 Number.MAX_SAFE_INTEGER + 20,它会输出正确的整数值。
javascript如何在内部表示大于Number.MAX_SAFE_INTEGER的数字?
【问题讨论】:
-
我不明白,你刚刚回答了你自己的问题?
-
改用
+ 19。 -
我认为这里重要的是
SAFE这个词 -
我知道使用大于
Number.MAX_SAFE_INTEGER的数字是不安全的,所以也许更好的问题是为什么 不安全?是否不安全,因为某些浏览器会强制使用 BigInt 而其他浏览器不会(不一致的实现)?或者因为它会给出不可靠的结果。根据 cmets 和现在发布的答案,似乎是后者。
标签: javascript