2011-02-25 57 views
5

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

非常感谢!

+2

在离开页面后,您如何知道该对象仍然存在于内存中? –

+0

你把网格标识符存储在变量中吗?如果是这样,那么使gridVar = null; – CoolEsh

+1

完全取决于浏览器......我猜你认为它仍然存在于内存中,因为浏览器进程内存使用量不会减少? –

回答

6

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

+1

这会工作,如果有一个实际的卸载事件触发,但因为这是一个所有ajax应用程序,这没有发生。 – Gerard

+0

一个选项可能是每次通过ajax应用程序导航时调用卸载事件。这不是一个很好的解决方案,但.. – Rob

+0

也许看看http://stackoverflow.com/q/864516/633281 – krtek

1

将网格放入div或任何你想要的。 当你想删除它使用

将清除它。