Ser*_*rov 1 javascript browser jquery
想象一下,我使用jQuery/AJAX构建了一个复杂的界面,并希望这个界面的应用程序在一整天内都能打开.它大量处理AJAX,构建其元素,删除其他元素,更改位置和大小等.这种情况下内存泄漏或浏览器滞后的可能性有多大?如何更好地处理数据和代码以避免过度使用内存?我可以面对浏览器方面的问题吗?
jQuery本身在清理事件后绑定的项目等方面做得相当不错.但是,通过销毁jQuery之外的对象,它仍然很容易泄漏事件等.例如:
$('#someDiv a').bind('click', function(){ ... });
$('#someDiv').html('foo');
Run Code Online (Sandbox Code Playgroud)
上面的代码消除了div中的链接,但由于jQuery不知道它,它不会从事件的内部数据存储中释放函数,并且函数泄漏.
您也可以轻易地泄漏任何现有的泄漏模式,其中有许多:循环引用等.其中许多是由闭合引起的.
谷歌"javascript泄漏模式"的信息.