gpt4 book ai didi

javascript - [[范围]] 和执行上下文

转载 作者:行者123 更新时间:2023-11-28 17:36:55 24 4
gpt4 key购买 nike

当我们执行以下代码时

var addTo = (passed) =>{
var add = (inner) => {
var foo = () => {
return inner + passed
}
return foo;
}
return add;
}


var addThree = addTo(3)(5);

console.dir(addThree);

我们在 chrome devtools 中得到以下内容:

enter image description here

我理解什么是闭包以及为什么第一个闭包显示 5 而第二个闭包显示 3。我现在似乎了解了闭包和执行上下文(堆栈)的概念,但不知道它们之间的确切关系。

  1. [[scopes]] 只是作用域链的表示吗?
  2. 这与执行上下文有关系吗?
  3. 执行上下文和闭包之间有联系吗?

最佳答案

Is [[scopes]] just a representation of the scope chain?

是的。

Is this at all related to the execution context?

是的。当调用该函数时(例如 addThree()),新的执行上下文将创建其本地函数作用域以从父级 [[scopes]] 继承。

Is there a link between the execution context and closures?

没什么特别的。当前事件的词法环境,即( block )范围,与闭包的创建更相关。

关于javascript - [[范围]] 和执行上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48953920/

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