Verfügt Javascript Garbage Collector über globale Variablen?

Ich bin diesbezüglich verwirrt, da ich verschiedene Kommentare gesehen habe. Ich lese ein Javascript-Buch, in dem erwähnt wird, dass das Setzen globaler Variablen auf Null eine gute Praxis ist (vorausgesetzt, es gibt keine anderen Referenzen), und der GC beim nächsten Sweep Speicher für diese Variable zurückfordert. Ich habe andere Kommentare gesehen, die besagen, dass globale Variablen niemals vom GC entsorgt werden.

Was passiert auch, wenn ich Javascript in einer OOP-Struktur programmiere, wenn ich so etwas habe (wobei sich das Spiel im globalen Kontext befindet):

var game = {};
game.level = 0;
game.hero = new hero();
//do stuff
game.hero = null;

Da der Held in einem Objekt lebt, das im Spiel gespeichert ist und sich in einem globalen Kontext befindet, würde der GC dies tun, wenn ich zum Beispiel den Helden auf null setze.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage