我正在阅读关于闭包的教程,它描述了执行上下文如下:
执行JavaScript函数时,构造称为 执行上下文已创建。执行上下文是一个抽象 规范规定的概念来跟踪执行 其相关代码的进展。作为应用程序运行,初始 全局执行上下文已创建。随着每个新功能的创建, 创建新的执行上下文,形成执行上下文 叠加。
执行JavaScript函数时,会创建一个称为执行上下文的构造。
这句话表示执行函数时会创建执行上下文。
在创建每个新函数时,会创建新的执行上下文,形成执行上下文堆栈。
这句话说明在创建新函数时会创建执行上下文。
我的问题是:哪一个是对的?
答案 0 :(得分:1)
第一个。执行执行时创建执行上下文。 "执行上下文堆栈"也被称为"调用堆栈"。
当函数创建时,它们存储对活动执行上下文(创建它们)范围的引用 - 这就是我们所说的闭包范围。当它们被执行时,它们的执行上下文将使用与存储的范围链接的新范围创建 - 形成范围链。