8.1.2.4 NewFunctionEnvironment ( F, newTarget )

当使用参数 FnewTarget 调用抽象操作 NewFunctionEnvironment 时,将执行以下步骤:

  1. 断言:F 是一个 ECMAScript 函数。
  2. 断言:Type(newTarget) 为 Undefined 类型或 Object 类型。
  3. 使 env 变为 一个新的词法环境。
  4. envRec 是一个不包含绑定的新的声明性环境记录。
  5. 设置 envRec.[[FunctionObject]] 为 F
  6. 如果 F.[[ThisMode]] 为lexical,设置 envRec.[[ThisBindingStatus]] to "lexical"
  7. 否则,设置 envRec.[[ThisBindingStatus]] 为 "uninitialized"
  8. 使 home 变为 F.[[HomeObject]]。
  9. 设置 envRec.[[HomeObject]] 为 home
  10. 设置 envRec.[[NewTarget]] 为 newTarget
  11. 设置 env's _EnvironmentRecord 为 _envRec
  12. env 的外部词法环境引用设置为 F. [[Environment]]。
  13. 返回 env

results matching ""

    No results matching ""