Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中从内存中删除对象_Javascript_Memory Management_Garbage Collection - Fatal编程技术网

在javascript中从内存中删除对象

在javascript中从内存中删除对象,javascript,memory-management,garbage-collection,Javascript,Memory Management,Garbage Collection,我正在使用大量Javascript开发一个AJAX应用程序。所有页面都通过AJAX加载。 在某个页面上,我有一个用Javascript构建的网格。现在,当我离开那个页面时,我想破坏那个网格。我调用jQuery.remove(),但这只会从DOM中删除对象。 我的问题是如何从内存中删除这个网格对象?因为当我离开页面时,它仍然存在 非常感谢 如果删除对网格的所有引用(即为变量赋值null),垃圾收集器将从内存中删除该对象。将网格放入div或任何您想要的内容中。 如果要删除它,请使用 $("<t

我正在使用大量Javascript开发一个AJAX应用程序。所有页面都通过AJAX加载。
在某个页面上,我有一个用Javascript构建的网格。现在,当我离开那个页面时,我想破坏那个网格。我调用jQuery.remove(),但这只会从DOM中删除对象。
我的问题是如何从内存中删除这个网格对象?因为当我离开页面时,它仍然存在


非常感谢

如果删除对网格的所有引用(即为变量赋值null),垃圾收集器将从内存中删除该对象。

将网格放入div或任何您想要的内容中。 如果要删除它,请使用

$("<the name of the div>").empty();
$(“”)。空();

这将清除它。

当您离开页面导航后,如何知道该对象仍然存在于内存中?是否将网格标识符存储在变量中?如果是,则使gridVar=null;这完全取决于浏览器。。。我猜你认为它仍然存在于内存中,因为浏览器进程内存使用没有减少?当我打开firebug控制台时,我可以看到该对象仍然存在。它只是从DOM中删除的。firebug不能真正分辨内存中有什么和内存中没有什么,我会寻找更“可靠”的如果你真的喜欢它,工具。如果有一个实际的卸载事件触发,这将起作用,但因为这是一个全ajax应用程序,所以这不会发生。一个选项可以是每次在ajax应用程序中导航时调用卸载事件。但这不是一个好的解决方案。。