gpt4 book ai didi

javascript - 这个Javascript会导致内存泄漏吗?

转载 作者:行者123 更新时间:2023-11-28 18:44:41 25 4
gpt4 key购买 nike

请注意,在以下代码中,子级获取对其父级的引用。当对父级的原始引用设置为 null 时会发生什么?由于 child 仍然有积极的引用, parent 是否会留下来?

Javascript

var parent = function() {
var self = this;
self.runme = function() {
document.getElementById('output').innerText = 'run me';
}

self.child = new child(self);

return self;
}
var child = function(parent) {
var self = this;
var parent = parent;
self.event = function() {
parent.runme();
}
}
var p = new parent();
p.child.event();
p = null;

HTML

<div id="output">
old value
</div>

fiddle https://jsfiddle.net/jeljeljel/8fvy5r4f/

最佳答案

var p = new parent();
p.child.event();
p = null;

最终,父级和子级都将被垃圾收集,因为父级和子级都将不再“可访问”。这里没有内存泄漏。假设您正在处理现代 JavaScript 解释器。

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

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