1.執行環境定義了變量或函數有權通路的其他資料,決定了他們各自的行為。
每個執行環境都有一個與之關聯的變量對象,環境中定義的所有變量和函數都儲存在這個對象中。
雖然我們無法通路,但是解析器在處理資料時會在背景調用它。
2.全局執行環境是最外圍的一個執行環境,在浏覽器中就是window對象。
全局變量銷毀的時候隻有當關閉網頁或浏覽器才會。
局部執行環境就是函數執行環境。
3.當代碼在一個環境中執行的時候,會建立變量對象的一個作用域鍊。
作用域鍊的用途是保證對執行環境所有變量和函數的有權通路。
4.環境之間的聯系是線性的,有次序的。每個環境都可以向上搜尋作用域鍊,來查詢變量跟函數名。
函數參數也被當做變量來對待,是以其通路規則與執行環境中的其他變量相同。
function a(c,b) c,b就是。
5.執行個體:
new操作符會讓構造函數産生如下變化:
1. 建立一個新對象;
2. 将構造函數的作用域賦給新對象(是以this就指向了這個新對象);
3. 執行構造函數中的代碼(為這個新對象添加屬性);
4. 傳回新對象