gpt4 book ai didi

javascript - javascript 的垃圾回收

转载 作者:行者123 更新时间:2023-11-30 06:06:49 25 4
gpt4 key购买 nike

我有两段代码样本1

(function(){

var x = 1;

this.getx = function() { return x; };

})();

示例 2

(function(){

var x = 1;

this.getx = function() { };

})();

两个代码示例都创建了一个闭包,示例一中的 x 被引用,而示例二中的 x 未被引用,我知道示例一中的 x 不会被垃圾回收,我的问题是示例二中的 x 会被垃圾回收吗?

最佳答案

ECMAScript 标准有意对垃圾收集器的工作方式保持沉默,因此实现可能会有所不同。但是,一般来说,如果一个对象不能从事件对象中引用,它将被收集。

在示例 2 中,这意味着可能会收集闭包,但也可能甚至不会创建闭包,因为函数未引用它。闭包代价高昂,现代 JavaScript 引擎会尽量避免创建闭包,除非迫不得已。

关于javascript - javascript 的垃圾回收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3929794/

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