gpt4 book ai didi

javascript - 闭包 : How does this specific piece work?

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

我正在为这个概念而挣扎。通过查看下面的内容,当我在控制台上键入“计数器”时,我不明白它等于下面的内容。它怎么知道要拿起这段代码呢?这是如何工作的?

function(val) {
count += val;
return console.log(count);
};

代码

var incrementer = function(initialValue) {
var count = initialValue;

return function(val) {
count += val;
return console.log(count);
};
};

var counter = incrementer(5);

counter(3);
counter(1);

最佳答案

因为 incrementer 返回一个函数,这实际上意味着一旦 counterincrementer(5) 填充,它就会成为对由 incrementer 返回的函数,这意味着计数器变量当时看起来像这样:

counter = function(val) {
count += val;
return console.log(count);
};

要验证这一点:

console.log(counter);

因此后续调用 counter 将增加 count 的值

注意:变量 count 存在于 incrementer 范围内,并且只能因为 counter 引用的函数是在该范围内创建的而被访问该范围。

关于javascript - 闭包 : How does this specific piece work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23669713/

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