Javascript 内存泄漏

Memory Leaks in Javascript

我正在使用 featherlight library 来显示灯箱。我正在使用咖啡,所以在我的 js 文件的开头我有

myFeatherBox = void 0;

稍后,当我想使用它时,我会做这样的事情:

if (myFeatherBox != null) {
  myFeatherBox.close();
}
myFeatherBox = $.featherlight("<div>whatever</div>");

如果 featherbox 已经打开,我会测试 null,在这种情况下我会关闭它。为了避免在内存中留下大量这些东西,我实际上是在旧变量中创建一个新框。

所以我想知道这是否只是在内存中孤立旧盒子(如果是的话如何清理它)以及这是否是做事的方式。

如果不再有对旧羽毛盒的引用,那么它将有资格进行垃圾回收 (GC)。

不能强制垃圾回收。

您可以使用 Chrome 的开发人员工具等工具来查看内存中的内容。