Может кто-нибудь объяснить подробно, как двигатели Javascript используют циркулярные ссылки? Есть ли большая разница между браузерами или даже node.js?
Я говорю о явной обратной/следующей ссылке в объектах. Например:
var objA = {
prop: "foo",
next: null
};
var objB = {
prop: "foo",
prev: null
};
objA.next = objB;
objB.prev = objA;
Там мы идем. Если мы сделаем a console.log( objA )
, мы увидим, что мы создали бесконечную цепочку.
Большой вопрос: это плохо? Это создает утечку памяти при неявной очистке?
Итак, мы должны
objA.next = null;
objB.prev = null;
или сборщики мусора позаботятся о нас на таких созвездиях?