国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

建立執(zhí)行環(huán)境

2018-06-16 15:16 更新

解釋執(zhí)行 全局代碼 或使用 eval 函數(shù)(15.1.2.1)輸入的代碼會創(chuàng)建并進入一個新的執(zhí)行環(huán)境。每次調用 ECMA 腳本代碼定義的函數(shù)(13.2.1)也會建立并進入一個新的執(zhí)行環(huán)境,即便函數(shù)是自身遞歸調用的。每一次 return 都會退出一個執(zhí)行環(huán)境。拋出異常也可退出一個或多個執(zhí)行環(huán)境。

 當控制流進入一個執(zhí)行環(huán)境時,會設置該執(zhí)行環(huán)境的 this 綁定,定義變量環(huán)境和初始詞法環(huán)境,并執(zhí)行定義綁定初始化過程(10.5)。以上這些步驟的嚴格執(zhí)行方式由進入的代碼的類型決定。

進入全局代碼

 當控制流進入 全局代碼 的執(zhí)行環(huán)境時,執(zhí)行以下步驟:

  1. 按 10.4.1.1 描述的方案,使用 全局代碼 初始化執(zhí)行環(huán)境。
  2. 按 10.5 描述的方案,使用 全局代碼 執(zhí)行定義綁定初始化步驟。

10.4.1.1 初始化全局執(zhí)行環(huán)境

 以下步驟描述 ECMA 腳本的全局執(zhí)行環(huán)境 C 的創(chuàng)建過程:

  1. 將變量環(huán)境設置為 全局環(huán)境 。
  2. 將詞法環(huán)境設置為 全局環(huán)境 。
  3. 將 this 綁定設置為 全局對象 。

進入 eval 代碼

 當控制流進入 eval 代碼 的執(zhí)行環(huán)境時,執(zhí)行以下步驟:

  1. 如果沒有調用環(huán)境,或者 eval 代碼 并非通過直接調用(15.1.2.1.1)eval 函數(shù)進行評估的,則按(10.4.1.1)描述的初始化全局執(zhí)行環(huán)境的方案,以 eval 代碼 作為 C 來初始化執(zhí)行環(huán)境。
  2. 否則將 this 綁定設置為當前執(zhí)行環(huán)境下的 this 綁定。將詞法環(huán)境設置為當前執(zhí)行環(huán)境下的 詞法環(huán)境 。將變量環(huán)境設置為當前執(zhí)行環(huán)境下的變量環(huán)境。
  3. 如果 eval 代碼 是 嚴格模式下的代碼 ,則令 strictVarEnv 為以詞法環(huán)境為參數(shù)調用 NewDeclarativeEnvironment 得到的結果。設置詞法環(huán)境為 strictVarEnv。設置變量環(huán)境為 strictVarEnv。
  4. 按 10.5 描述的方案,使用 eval 代碼 執(zhí)行定義綁定初始化步驟。

嚴格模式下的限制

 如果調用環(huán)境的代碼或 eval 代碼 是 嚴格模式下的代碼 ,則 eval 代碼不能在調用環(huán)境的變量環(huán)境中 初始化變量及函數(shù)綁定 。與之相對的,變量及函數(shù)綁定將在一個新的環(huán)境變量中被初始化,該環(huán)境變量僅可被 eval 代碼 訪問。

進入函數(shù)代碼

 當控制流根據(jù)一個函數(shù)對象 F、調用者提供的 thisArg 以及調用者提供的 argumentList,進入 函數(shù)代碼 的執(zhí)行環(huán)境時,執(zhí)行以下步驟:

  1. 如果 函數(shù)代碼 是 嚴格模式下的代碼 ,設 this 綁定為 thisArg。
  2. 否則如果 thisArg 是 null 或 undefined,則設 this 綁定為 全局對象 。
  3. 否則如果 Type(thisArg) 的結果不為 Object,則設 this 綁定為 ToObject(thisArg)。
  4. 否則設 this 綁定為 thisArg。
  5. 以 F 的 [[Scope]] 內部屬性為參數(shù)調用 NewDeclarativeEnvironment,并令 localEnv 為調用的結果。
  6. 設詞法環(huán)境為 localEnv。
  7. 設變量環(huán)境為 localEnv。
  8. 令 code 為 F 的 [[Code]] 內部屬性的值。
  9. 按 [10.5](#10.5) 描述的方案,使用 函數(shù)代碼 code 和 argumentList 執(zhí)行定義綁定初始化步驟。


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號