javascript中数组的最大长度

时间:2016-05-26 13:00:20

标签: javascript

我在学习javascript时遇到了问题。这是我的代码:

var arr = [];
for (let i = 0; i <4294967296; i=i+1){
    arr[i] = 1;}

但是在chrome和firefox中,它最终出现了错误。我知道javascript中数组的最大长度是4294967295(2 ^ 32-1),当我将4294967296更改为4294967295,4294967294或者有点时更小,它仍然没有工作。我也在Node.js测试它,经过一段时间的执行,它刚刚结束:

FATAL ERROR: invalid array length Allocation failed - JavaScript heap out of memory

我不知道为什么?

1 个答案:

答案 0 :(得分:0)

1是一个整数,在内存中是4个字节或8个字节长(取决于你的操作系统),因此你不能在内存中有4M *这个长度字节。