Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环引用是否会导致JavaScript内存泄漏?_Javascript_Debugging_Browser_Memory Leaks_Cross Browser - Fatal编程技术网

循环引用是否会导致JavaScript内存泄漏?

循环引用是否会导致JavaScript内存泄漏?,javascript,debugging,browser,memory-leaks,cross-browser,Javascript,Debugging,Browser,Memory Leaks,Cross Browser,我读过很多声明,声称循环引用会导致内存泄漏: 所以我在Chrome/FF4/IE9/Opera/Safari上测试了这个脚本: <script> var a, b, list = []; for(var x=0;x<1000000;x+=2){ a = list[x] = document.createElement("div"); b = list[x + 1] = document.createElement("div"); a.hook

我读过很多声明,声称循环引用会导致内存泄漏:

所以我在Chrome/FF4/IE9/Opera/Safari上测试了这个脚本:

<script>
var a, b, list = [];

for(var x=0;x<1000000;x+=2){
    a = list[x] = document.createElement("div");
    b = list[x + 1] = document.createElement("div");
    a.hook = b;
    b.hook = a;
}
</script>

var a、b、list=[];

对于(var x=0;x内存泄漏主要是具有循环引用和引用计数垃圾收集的旧IE中的一个问题,这些垃圾收集从未完全回收所有内容(循环引用中的引用计数从未为0)

我认为IE中的内存泄漏自IE8以来已经修复


.

换句话说,无论我们如何尝试,javascript内存泄漏都不可能了?@Pacerier Well IE7和IE6仍然很常见。好吧,让我重新表述一下我的问题。那么我们可以说,在现代浏览器中,内存泄漏是100%不可能的了吗?@Pacerier我不是100%确定。你可以随时打开源代码,打开你最喜欢的浏览器找到浏览器的源代码,看看是否有内存在任何情况下都没有被释放。@Pacerier,微软对IE6感到厌倦;他们意识到,按照现代标准,IE6非常可怕,并希望让人们转向更好、更新的浏览器。他们不想因为可怕的浏览器而出名,只是因为人们最近没有升级。。。