何时创建执行上下文?

时间:2017-03-22 02:29:58

标签: javascript closures

我正在阅读关于闭包的教程,它描述了执行上下文如下:

  

执行JavaScript函数时,构造称为   执行上下文已创建。执行上下文是一个抽象   规范规定的概念来跟踪执行   其相关代码的进展。作为应用程序运行,初始   全局执行上下文已创建。随着每个新功能的创建,   创建新的执行上下文,形成执行上下文   叠加。

执行JavaScript函数时,会创建一个称为执行上下文的构造。

  

这句话表示执行函数时会创建执行上下文。

在创建每个新函数时,会创建新的执行上下文,形成执行上下文堆栈。

  

这句话说明在创建新函数时会创建执行上下文。

我的问题是:哪一个是对的?

1 个答案:

答案 0 :(得分:1)

第一个。执行执行时创建执行上下文。 "执行上下文堆栈"也被称为"调用堆栈"。

当函数创建时,它们存储对活动执行上下文(创建它们)范围的引用 - 这就是我们所说的闭包范围。当它们被执行时,它们的执行上下文将使用与存储的范围链接的新范围创建 - 形成范围链