0
var a = {
    b: "this";
};

a = null;

「a」が最初に参照しているオブジェクトリテラルへの参照を削除すると、「this」への参照も削除されますか、それともメモリリークが発生しますか?

コードを次のように変更する必要がありますか?

delete a.b;
a = null;

?

4

1 に答える 1

0

これにより、メモリ リークが発生することはありません。ガベージ コレクターは通常、一連のライブ参照を調べ、見つかった一連のオブジェクトにマークを付け、見えなかったものをすべて収集します。この場合、最初に割り当てられた値もaリテラル"this"も見つからず、両方がコレクションの対象になります

于 2013-08-13T16:32:26.607 に答える