JS引擎编译阶段的优先顺序

时间:2018-06-13 21:06:09

标签: javascript hoisting

我试图理解在JavaScript引擎的编译阶段,函数和变量声明以及变量赋值和函数定义的优先顺序如何与编译阶段期间发生的其他事情相互作用。请告诉我这是否正确:

  1. 分配内存并设置对任何函数标识符的引用
  2. 分配内存并设置对任何变量标识符的引用
  3. 将值分配给变量
  4. 对于每个函数,创建一个新的执行上下文和范围,并添加对父范围的引用

1 个答案:

答案 0 :(得分:0)

仅在此处引用当前标准,实际实现可能会有所不同:

15.1.11Runtime Semantics: GlobalDeclarationInstantiation ( script, env )