gpt4 book ai didi

javascript - 带有对象的闭包

转载 作者:行者123 更新时间:2023-12-02 21:13:58 27 4
gpt4 key购买 nike

我正在阅读有关闭包的内容,并且遇到了这个示例:

  var counter = (function() {
var privateCounter = 0;
function changeBy(val) {
privateCounter += val;
}

return {
increment: function() {
changeBy(1);
}
};
})();

所以闭包基本上是:

A closure is the combination of a function bundled together (enclosed) with references to its surrounding state (the lexical environment).

好的,到目前为止一切顺利。但在下面的示例中,我们没有将函数捆绑在一起,但返回的对象保留对 privateCounter 的引用。

我们是否可以认为这也是某种封闭?

var counter = (function() {
var privateCounter = { name: "nick" };

return {
name: privateCounter
};
})();

最佳答案

没有。该函数不会从其外部作用域访问变量。

关于javascript - 带有对象的闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61021070/

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