我对此感到困惑,因为我看到了几个不同的评论。我正在阅读一本 javascript 书,其中提到将全局变量设置为 null 是一种很好的做法(假设没有其他引用),并且 GC 在下一次扫描时为该变量回收内存。我看到其他评论说全局变量永远不会被 GC 处理。
此外,当在 OOP 结构中编写 javascript 时,如果我有这样的事情(游戏在全局上下文中)会发生什么:
var game = {};
game.level = 0;
game.hero = new hero();
//do stuff
game.hero = null;
由于 hero 存在于存储在游戏中的全局上下文中的对象中,如果我将例如 hero 设置为 null,这会被 GC 处理吗?