相关疑难解决方法(0)

Javascript /垃圾收集器中的循环引用

有人可以详细解释Javascript引擎如何处理循环引用?浏览器甚至node.js之间有很大的区别吗?

我所说的是对象内部的显式反向/下一个引用.例如:

var objA = {
    prop: "foo",
    next: null
};

var objB = {
    prop: "foo",
    prev: null
};

objA.next = objB;
objB.prev = objA;
Run Code Online (Sandbox Code Playgroud)

我们走了.如果我们这样做,console.log( objA )我们可以看到我们创造了一个无限链.最大的问题是,这是不是很糟糕?未明确清除时是否会造成内存泄漏?

所以我们必须这样做

objA.next = null;
objB.prev = null;
Run Code Online (Sandbox Code Playgroud)

或者垃圾收集者会照顾我们这样的星座吗?

javascript garbage-collection memory-leaks circular-reference

40
推荐指数
1
解决办法
1万
查看次数