gpt4 book ai didi

javascript - 返回函数 - 的函数?

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

我刚刚开始学习 JavaScript 并进行一些编码练习。抱歉,这可能是个愚蠢的问题。我很难理解以下返回函数的函数的答案。

访问函数接受一个对象并返回一个函数。
返回的函数可以访问给定对象的属性和值。

我不明白的部分是返回的函数如何访问对象的属性和值而不在全局范围内定义?

抱歉,如果问题不清楚。我想知道为什么返回的函数能够在不使用 for in.. 循环的情况下访问属性和值。

我一直在尝试查找有关此的文章/博客文章,但一直找不到任何内容。如果你能解释清楚,我很感激!!

const accessor = obj => {
return (prop, value) => {
if (value === undefined) {
return obj[prop];
} else {
obj[prop] = value;
}
};
};

accessExample = accessor({ foobar: [7, 8, 9] });
accessExample('foobar');

//returns [7, 8, 9]

最佳答案

发生这种情况是因为闭包。 javascript 中的所有函数都形成闭包。您可以从此处阅读更多信息 Closures

关于javascript - 返回函数 - 的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52848696/

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