我正在制作灯箱,我是否需要使用
$(window.top).unload(function() { .. });
要清理变量,还是所有浏览器都会自动清理所有内容并重置内存,什么不是?
我是否需要打扰或浏览器是否会为我做这件事?什么所有的内存泄漏和所有..
编辑:我将大量数据附加到div元素。那么我需要在卸载时执行removeData吗?
答案 0 :(得分:5)
(是的,浏览器为你做了|不,你不需要做任何清理),Javascript被垃圾收集。
答案 1 :(得分:1)
看看这个,它可以帮助你理解使用基于jquery的jquery和插件时的内存泄漏。
答案 2 :(得分:1)
在javascript中有几种不同的方法可以创建内存泄漏。大多数都与在javascript对象和DOM之间创建循环引用有关。见:
http://www.ibm.com/developerworks/web/library/wa-memleak/
但是否则,不,您不必显式删除对事物的引用 - javascript垃圾收集器将为您执行此操作。
但是,您发布的代码段会产生副作用,您应该注意这一点。如果您为文档的onunload
处理程序附加任何内容,那么支持缓存DOM / javascript引擎状态以便在向后/向前导航时快速检索的浏览器将无法再将页面保留在{{1 (见http://www.webkit.org/blog/516/webkit-page-cache-ii-the-unload-event/)。这可能会影响性能。