当重新创建相同的对象名称时,对象文字是否可用内存?当我从对象文字重新创建相同的对象名称时,对内存的影响是什么。 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
答案 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中,但我确定其他浏览器的行为与此类示例相同。)