这是由语言定义的吗?有确定的最大值吗?在不同的浏览器中是否有所不同?


当前回答

在谷歌Chrome内置javascript,你可以去大约2^1024之前的数字被称为无穷大。

其他回答

Try:

maxInt = -1 >>> 1

在Firefox 3.6中是2^31 - 1。

在谷歌Chrome内置javascript,你可以去大约2^1024之前的数字被称为无穷大。

在JavaScript中,有一个数字叫做Infinity。

例子:

(Infinity>100)
=> true

// Also worth noting
Infinity - 1 == Infinity
=> true

Math.pow(2,1024) === Infinity
=> true

对于这个主题的一些问题,这可能已经足够了。

在JavaScript中,数字的表示是2^53 - 1。

然而,按位操作是在32位(4个字节)上计算的,这意味着如果你超过32位移位,你将开始丢失位。

其他人可能已经给出了一般的答案,但我认为给出一个快速确定它的方法会是一个好主意:

for (var x = 2; x + 1 !== x; x *= 2);
console.log(x);

这给了我9007199254740992在Chrome 30不到一毫秒。

它将测试2的幂,以找出当“加”1时,哪一个等于他自己。