Javascript内存管理:删除和拼接

时间:2013-09-04 23:33:57

标签: javascript performance memory-management

当我使用splice方法从javascript中的数组中删除项目时,会返回已删除项目的数组。

var a = [{name:'object1'},{name:'object2'},{name:'object3'}];

// a.splice(0,2) -> [{name:'object1'},{name:'object2'}]
// Where do these guys live now? Are they really gone?

那么我是否需要对这些返回的对象调用'delete'以确保它们没有内存?垃圾收集器只是处理这个吗?我能相信吗?

1 个答案:

答案 0 :(得分:1)

对象已“消失”(从您的角度来看),GC会在其认为合适时实际释放内存。 JavaScript不会让您明确控制垃圾回收。

如果你关注性能,通常会更好(分析之后),专注于保存分配而不是担心什么时候会得到GC,因为这种行为会根据你所使用的JS引擎而改变。