js对象之间的循环引用
但引用计数有一个很严重的问题,循环引用。循环引用指的是对象A 中包含一个指向对象B的指针,而对象B中也包含一个指向对象A的引用。比如下面这个例子:
function problem(){
var objectA = new Object();
var objectB = new Object();
objectA.someOtherObject = objectB;
objectB.anotherObject = objectA;
}
当函数执行完毕后,objectA和objectB还将继续存在,因为它们的引用次数永远不会是0。假如这个函数被重复多次调用,就会导致大量内存得不到回收。