JavaScript使用垃圾收集,因此不再被引用的对象会被杀死。
如果我执行var a = {};
然后执行a = null;
,则会删除该对象,因为唯一的引用(a)不再引用它。
现在如果我们有2个对象相互引用,但没有其他人引用它们,那么这些对象会被删除吗?
示例:
var a = {};
var b = {};
a.ref = b;
b.ref = a;
a = null;
b = null;
这两个对象在技术上是死的,但它们互相引用。它们会被垃圾收集器删除还是这个代码示例是内存泄漏?