8.1.1.4.17 CreateGlobalVarBinding ( N, D )

用于全局环境记录的具体 Environment Record 方法 CreateGlobalVarBinding 在关联对象 Environment Record 中创建和初始化一个可变绑定,并在关联的 [[VarNames]] 列表中记录绑定的名称。 如果绑定已经存在,则它被重用并假设被初始化。

  1. 使 envRec 变为调用该方法的全局环境记录。
  2. 使 ObjRec 变为 envRec.[[ObjectRecord]]。
  3. 使 globalObject 变为 ObjRe 的绑定对象。
  4. 使 hasProperty 变为? HasOwnProperty(globalObject, N)。
  5. 使 extensible 变为? IsExtensible(globalObject)。
  6. 如果 hasProperty false 并且 extensible true,那么

a. 执行 ? ObjRec.CreateMutableBinding(N, D)。 b. 执行 ? ObjRec.InitializeBinding(N, undefined)。

7.使 varDeclaredNames 变为envRec.[[VarNames]]。

8.如果 varDeclaredNames 不包含 N,那么

a. 添加 NvarDeclaredNames 上。

9.返回 NormalCompletion(empty)。

results matching ""

    No results matching ""