2011-02-25 89 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或任何你想要的。 當你想刪除它使用

將清除它。