2 qq 26946497 qq_26946497 于 2016.01.28 16:38 提问

两个孤立的js对象相互引用,会被回收吗

如题。
(function() {
var a = {};
var b = {};
a.b = b;
b.a = a;
})();

4个回答

caozhy
caozhy   Ds   Rxr 2016.01.28 18:54
已采纳

如果是全局变量,不会回收,但是函数内定义的局部变量,会。

danielinbiti
danielinbiti   Ds   Rxr 2016.01.28 16:55

对象相互引用,计数器无法清零,不会释放。
这就是循环引用,存在的局限性

danielinbiti
danielinbiti 回复谁用了我的英文名: 恩,是我说的不对,应该是标记清除。函数执行完是会释放的
接近 2 年之前 回复
qq_26946497
qq_26946497 为什么楼下观点不一样额...
接近 2 年之前 回复
showbo
showbo   Ds   Rxr 2016.01.28 17:16

当2个都不被使用时浏览器会自动回收

qq_26946497
qq_26946497 和楼上答案不一样啊!
接近 2 年之前 回复
Royal_lr
Royal_lr   Ds   Rxr 2016.01.28 16:58

会啊,,如果变量未被引用,就会被回收

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!