8.1.2.4 NewFunctionEnvironment ( F, newTarget )

当使用参数 F 和 newTarget 调用抽象操作 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 ""