当我使用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'以确保它们没有内存?垃圾收集器只是处理这个吗?我能相信吗?
答案 0 :(得分:1)
对象已“消失”(从您的角度来看),GC会在其认为合适时实际释放内存。 JavaScript不会让您明确控制垃圾回收。
如果你关注性能,通常会更好(在分析之后),专注于保存分配而不是担心什么时候会得到GC,因为这种行为会根据你所使用的JS引擎而改变。