gpt4 book ai didi

javascript - 循环引用会导致 JavaScript 内存泄漏吗?

转载 作者:行者123 更新时间:2023-11-29 18:32:46 33 4
gpt4 key购买 nike

我读过很多声称循环引用会导致内存泄漏的说法:

所以我在 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>

任务管理器显示该脚本消耗了大约 0.2 GB 的内存。

然后我刷新了页面10次。如果脚本确实导致内存泄漏,在 10 次刷新后,我应该会看到消耗了大约 2 GB 的内存,但任务管理器显示并非如此。

哪些浏览器中,循环引用会导致 JavaScript 内存泄漏?

最佳答案

内存泄漏主要是旧 IE 中的一个问题,循环引用和引用计数垃圾收集从未完全回收所有内容(循环引用中的引用计数从未为 0)。

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

Microsoft have a in depth article on the subject .

关于javascript - 循环引用会导致 JavaScript 内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6158972/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com