0

当我使用 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?

然后我是否需要对这些返回的对象调用“删除”以确保它们被取出内存?垃圾收集器只是处理这个吗?我可以相信吗?

4

1 回答 1

1

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

如果您担心性能,通常最好(当然分析之后)专注于节省分配而不是担心事情何时会被 GC'd,因为该行为会根据您使用的 JS 引擎而改变.

于 2013-09-04T23:36:32.893 回答