相关疑难解决方法(0)

如何在JavaScript中创建内存泄漏?

我想了解什么样的代码导致JavaScript中的内存泄漏并创建下面的脚本.但是,当我在OS X上的OS 6.0.4中运行脚本时,活动监视器中显示的内存消耗并没有真正增加.

我的脚本有问题,或者这不再是现代浏览器的问题?

<html>
<body>
</body>
<script>
var i, el;

function attachAlert(element) {
    element.onclick = function() { alert(element.innerHTML); };
}

for (i = 0; i < 1000000; i++) {
    el = document.createElement('div');
    el.innerHTML = i;
    attachAlert(el);
}
</script>
</html>
Run Code Online (Sandbox Code Playgroud)

该脚本基于Google JavaScript风格指南的Closure部分:http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml? showow =Closures #Closures

编辑:导致上述代码泄漏的错误显然已得到修复:http://jibbering.com/faq/notes/closures/#clMem

但我的问题仍然存在:是否有人能够提供在现代浏览器中泄漏内存的JavaScript代码的真实示例?

互联网上有很多文章表明内存泄漏可能是复杂单页面应用程序的问题,但我很难找到可以在浏览器中运行的示例.

javascript closures garbage-collection memory-leaks

26
推荐指数
1
解决办法
6682
查看次数