【发布时间】:2018-10-17 06:41:30
【问题描述】:
我刚刚开始学习 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 function higher-order-functions