8.5 InitializeHostDefinedRealm ( )

抽象操作 InitializeHostDefinedRealm 执行以下步骤:

  1. 使 realm 变为 CreateRealm()。
  2. 使 newContext 变为一个新的执行上下文。
  3. 设置 newContext 的 Function 为 null
  4. 设置 newContext 的 Realm 为 realm
  5. 设置 newContext 的 ScriptOrModule 为 null
  6. newContext 推送到执行上下文堆栈; newContext 现在是运行的执行上下文。
  7. 如果主机需要使用异常对象作为领域的全局对象,则让全局是以内置系统定义的方式创建的对象。 否则,让全局为 undefined,指示一个普通对象应该被创建为全局对象。
  8. 如果主机要求领域的全局范围中的 this 绑定返回一个非全局对象的对象,使 thisValue 是一个以实现定义方式创建的对象。 否则,让 thisValue undefined,指示领域的全局此绑定应该是全局对象。
  9. 执行 SetRealmGlobalObject(realm, global, thisValue)。
  10. 使 globalObj 变为 ? SetDefaultGlobalBindings(realm)。
  11. globalObj 上创建任何内置系统定义的全局对象属性。

results matching ""

    No results matching ""