js的執行環境學習筆記

2022-03-20 20:12:37 字數 713 閱讀 1570

js執行全域性**或者執行函式**的時候,首先進行準備,然後再執行。準備階段,就是建立執行環境的階段。

1、執行環境

當一段js**遇到直譯器的時候,比如瀏覽器開啟一段js**時候,第一件事並不是馬上執行,而是建立執行環境。同樣的道理,當呼叫函式的時候,一開始也是建立執行環境。只有當執行環境建立完成,一切準備就緒,然後才執行函式。可以說,與執行環境的建立相比,最終執行過程只是水到渠成的事,砍柴之前先磨刀。

執行環境有3個屬性,所以建立執行環境其實就是分別建立這三個屬性。

這三個屬性是:作用域鏈,變數物件,this

作用域鏈 : 好比搞清楚本段**所處位置,是兒子輩呢,還是孫子輩,目的是**段出現了找不到的變數,去哪兒搜尋。孫子身上沒有,跟父親要,父親沒有,繼續向上跟爺爺身上找。

變數物件:是個物件,這個物件包含了本執行環境的變數和函式名,意思我自己有這麼些家當,但是兩種家當不歸入列表:沒有用var關鍵字定義的變數+函式表示式;**執行的時候,需要什麼玩意,先從變數物件這個家當庫裡面找(找不到咋辦?上面的作用域鏈有用了)。變數物件最重要的乙個玩意叫arguments,跟引數有關,具體arguments[0]是第乙個接收的引數,arguments[1]是第二個接收的引數,以此類推,但是arguments 是個物件,除了包括引數,還有其他屬性,比如length(望文生義表示引數的長度)。

this:暫時沒搞懂。

畫個圖,就是這樣的:

執行環境:

2、變數物件:

虛擬環境學習筆記

win r cmd切換到python的scripts目錄 pip install virtualenv pip install pipenv進入python控制台建立虛擬環境 建立虛擬環境 mkvirtualenv p python 虛擬環境名稱 刪除虛擬環境 rmvirtualenv 環境名稱 檢...

PHP課程 Php環境學習筆記

一 web伺服器 apache 配置伺服器 c apache2.2 conf httpd.conf apache主目錄 documentroot節點 directory apache的瀏覽目錄和主目錄保持一致 apache預設主頁 directoryindex 修改完成後重啟apache服務 apa...

gym冰凍湖環境學習筆記

冰凍湖圖例 以4 4為例 s為起始位置,f是可通過的冰凍湖,h是會落下去的洞,g是要到達的目標。狀態個數為16,指代16個方格。行為個數為4,查原碼可知,left 0 down 1 right 2 up 3。state,action 6,2 directions for next sr in env...