JS中的对象内存性能

时间:2017-04-20 06:59:11

标签: javascript performance javascript-objects jsobject

当重新创建相同的对象名称时,对象文字是否可用内存?当我从对象文字重新创建相同的对象名称时,对内存的影响是什么。 e.g。

var objLit = {};
for(var i=0; i<5; i++){
    objLit['room'] = {};
    objLit['room'].name = "A",
    objLit['room'].class = 10
}

console.log(objLit['room']);

输出是当前的,但是4个预览由{​​{1}}循环产生的对象文字。我的问题:

for

1 个答案:

答案 0 :(得分:0)

我在Chrome中试了一下这个:

var objLit = {};

for(var i = 0; i < 500000000; i++){
    objLit['room'] = {};
    objLit['room'].name = "A",
    objLit['room'].class = 10
}

console.log(objLit['room']);

如果没有释放内存,那么在循环运行时,您希望该选项卡的内存使用率保持增长。

事实并非如此。如果循环长度超过500000000次,则Chrome不会消耗更多内存,而不是50次迭代时。

换句话说,垃圾收集摆脱了之前的价值 (在Chrome中,但我确定其他浏览器的行为与此类示例相同。)