gpt4 book ai didi

JavaScript 最佳实践,使用闭包

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

嘿,我在 Google 文章 ( here ) 中读到我们在使用闭包时需要小心。
例如,他们提供了这个功能:

function foo(element, a, b) {
element.onclick = function() { /* uses a and b */ };
}

我引用:

the function closure keeps a reference to element, a, and b even if it never uses element. Since element also keeps a reference to the closure, we have a cycle that won't be cleaned up by garbage collection.

我还读了一篇关于 module pattern 的文章,并且在闭包中有很多用途

例如,如果我声明一个这样的模块:

(function () {
var a = function () { };
var b = function () { };
}());

所以b可以访问a ,这意味着它还保存对模块上声明的所有函数的引用。

这也被认为是不好的做法吗?

最佳答案

你引用的说法是垃圾。

the function closure keeps a reference to element, a, and b even if it never uses element.

No it doesn't .

Since element also keeps a reference to the closure, we have a cycle that won't be cleaned up by garbage collection.

No they will 1

(1:我们倾向于忽略古老的、有缺陷的互联网浏览器)

所以回答你的问题:不,这些都不是不好的做法。

关于JavaScript 最佳实践,使用闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43155744/

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