上下文 上下文棧

2021-10-25 08:20:42 字數 787 閱讀 9953

* 全域性**

* 函式(區域性)**

* 在執行全域性**前將window確定為全域性執行上下文

* 對全域性資料進行預處理

* var定義的全域性變數==>undefined, 新增為window的屬性

* function宣告的全域性函式==>賦值(fun), 新增為window的方法

* this==>賦值(window)

* 開始執行全域性**

* 在呼叫函式, 準備執行函式體之前, 建立對應的函式執行上下文物件(虛擬的, 存在於棧中)

* 對區域性資料進行預處理

* 形參變數==>賦值(實參)==>新增為執行上下文的屬性

* arguments==>賦值(實參列表), 新增為執行上下文的屬性

* var定義的區域性變數==>undefined, 新增為執行上下文的屬性

* function宣告的函式 ==>賦值(fun), 新增為執行上下文的方法

* this==>賦值(呼叫函式的物件)

* 開始執行函式體**

1. 在全域性**執行前, js引擎就會建立乙個棧來儲存管理所有的執行上下文物件

2. 在全域性執行上下文(window)確定後, 將其新增到棧中(壓棧)

3. 在函式執行上下文建立後, 將其新增到棧中(壓棧)

4. 在當前函式執行完後,將棧頂的物件移除(出棧)

5. 當所有的**執行完後, 棧中只剩下window

中斷上下文 程序上下文

在學習與作業系統相關的知識時候,我們經常遇到程序上下文 中斷上下文,看似熟悉又感覺不是特別清晰。這裡我們從如下幾個方面進行描述。上下文是從英文中context翻譯過來的,指的是一種環境。上下文我們看起來不怎麼熟悉,但是我們可以看context的中文翻譯,或者我們能更加的情形些。context n 語...

全域性上下文與上下文

全域性上下文由main函式載入系統的主架構和主事件迴圈和全域性資料構成。是上帝創造世界時,建立的基礎事物。萬物之始,大道至簡,衍化至繁。全域性上下文代表著程式執行所需要的基礎資源。是程式執行的基礎。全域性上下文的特徵是在程式執行期間常駐記憶體。全域性上下文的生命週期和應用程式的生命週期相同。與應用程...

程序上下文 中斷上下文及原子上下文

談論程序上下文 中斷上下文 原子上下文之前,有必要討論下兩個概念 a 上下文 上下文是從英文context翻譯過來,指的是一種環境。相對於程序而言,就是程序執行時的環境 具體來說就是各個變數和資料,包括所有的暫存器變數 程序開啟的檔案 記憶體資訊等。b 原子 原子 atom 本意是 不能被進一步分割...