【发布时间】:2022-01-24 02:43:51
【问题描述】:
我知道函数可以访问它们在其中创建的执行上下文的变量环境 (VE),但是它们在哪里携带对它的引用,是否可以访问它?
编辑
例子:
function secureIncrement() {
let counter = 0;
return function () {
counter++;
console.log(`counter = ${counter}`);
};
}
const incrementer = secureIncrement();
incrementer(); // 1
incrementer(); // 2
incrementer(); // 3
我知道incrementer 可以访问counter,但它在什么属性中保留对它的引用?
有一个[[Scopes]] 属性可以用console.dir(incrementer) 看到,但是可以手动访问吗?
【问题讨论】:
-
你能详细说明你想做什么吗?
-
这叫做闭包
标签: javascript closures