nul*_*dix 8 javascript dom memory-leaks
在addEventListener元素上注册事件时,然后在不删除事件的情况下删除该元素,并且反复这样做会使内存"泄露"吗?
它不应该泄漏.当事件处理程序导致主机对象<> JS-object循环时,一个臭名昭着的漏洞就像IE(最高版本7)和IE(最高版本8)不支持一样addEventListener.
如果要在特定浏览器中对其进行测试,请保持此运行状态,并了解浏览器的内存使用情况如何长期受到影响.
<div id="x"></div>
<script type="text/javascript">
function replace() {
var x= document.getElementById('x');
if (x.firstChild!==null)
x.removeChild(x.firstChild);
var el= document.createElement('p');
el.addEventListener('click', click, false);
x.appendChild(el);
}
function click() {
alert('click');
};
setInterval(replace, 1);
</script>
Run Code Online (Sandbox Code Playgroud)
(要使用存在的参考循环对其进行测试,请将function click定义向上移动到replace正文中.)