JavaScript 执行块时是否创建新的执行上下文?

Does JavaScript create a new execution context when executing a block?

执行块时是否JavaScript创建新的执行上下文以将其词法环境与其相关联。

。一个,而词法环境是当前作用域。评估块时不会调用任何函数。

您可以在 evaluation semantics of blocks 的规范中读到它创建了一个新的词法环境(用块作用域中的变量初始化),它以旧环境作为其父级,并且“将 运行 执行上下文的 LexicalEnvironment[s] 设置为 [那个值]”。执行块中的语句后,子环境再次弹出,但 运行 执行上下文一直保持不变。