假设我有这样的代码
var obj = {};
obj.a = obj;
我知道现代浏览器实现了 Mark-and-sweep 算法,在这种情况下不应该有内存泄漏。但我不确定实现引用计数的旧浏览器是否将其视为循环引用。
在我看来,应该存在内存泄漏,因为引用计数为 1(由同一对象的“a”属性引用)。我是否正确引用计数为 1 或者如果对象被自身引用,浏览器不会增加引用计数?
假设我有这样的代码
var obj = {};
obj.a = obj;
我知道现代浏览器实现了 Mark-and-sweep 算法,在这种情况下不应该有内存泄漏。但我不确定实现引用计数的旧浏览器是否将其视为循环引用。
在我看来,应该存在内存泄漏,因为引用计数为 1(由同一对象的“a”属性引用)。我是否正确引用计数为 1 或者如果对象被自身引用,浏览器不会增加引用计数?