gpt4 book ai didi

javascript - 我们应该在使用全局变量和事件监听器变量后将其置空吗?

转载 作者:行者123 更新时间:2023-12-02 22:47:22 25 4
gpt4 key购买 nike

我是 JS 新手,正在学习内存泄漏以及如何避免它。我发现如果我们使用全局变量,那么它们不会从内存中删除,这可能会导致内存泄漏。此外,保存事件监听器的变量不会从内存中删除。问题是,作为最佳实践,我们是否应该在使用全局变量和保存事件监听器的变量之后以及不再需要它们时将它们均衡为 null,例如:

var data = 'This is huge data'; 
//After we used data then equalize it to null
data=null;
var element = document.querySelector('li').addEventListener();
//After we used element then equalize it to null
element=null;

最佳答案

没有任何充分的理由这样做。即使 JavaScript 中没有任何可靠的垃圾收集规范(与 Java 不同),引擎的所有现代实现都提供了这种机制。

因此,设置 data = null 不会对性能产生任何特殊影响,而 element = null 只会删除引用,但不会影响听众。

如果你想删除监听器,你必须使用element.removeListener

关于javascript - 我们应该在使用全局变量和事件监听器变量后将其置空吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58341086/

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