因为我看到了好几条不同的评论,所以我感到困惑。我正在阅读一本JavaScript书籍,在其中提到将全局变量设置为null是一种良好的实践方法(假设没有其他引用),GC会在下一轮扫描中回收此变量的内存。但我也看到其他评论说全局变量永远不会被GC处理。
此外,在使用OOP结构编写JavaScript时,如果我有像这样的内容(其中game位于全局范围内),会发生什么:
var game = {};
game.level = 0;
game.hero = new hero();
//do stuff
game.hero = null;
由于英雄存在于存储在游戏中的对象内,此对象存在于全局上下文中。例如,如果我将英雄设置为null,那么它是否会被GC处理?