天天看點

JavaScript語言精粹--執行環境及作用域,this

1.執行環境定義了變量或函數有權通路的其他資料,決定了他們各自的行為。

每個執行環境都有一個與之關聯的變量對象,環境中定義的所有變量和函數都儲存在這個對象中。

雖然我們無法通路,但是解析器在處理資料時會在背景調用它。

2.全局執行環境是最外圍的一個執行環境,在浏覽器中就是window對象。

全局變量銷毀的時候隻有當關閉網頁或浏覽器才會。

局部執行環境就是函數執行環境。

3.當代碼在一個環境中執行的時候,會建立變量對象的一個作用域鍊。

作用域鍊的用途是保證對執行環境所有變量和函數的有權通路。

4.環境之間的聯系是線性的,有次序的。每個環境都可以向上搜尋作用域鍊,來查詢變量跟函數名。

函數參數也被當做變量來對待,是以其通路規則與執行環境中的其他變量相同。

function a(c,b) c,b就是。

5.執行個體:

JavaScript語言精粹--執行環境及作用域,this
JavaScript語言精粹--執行環境及作用域,this

new操作符會讓構造函數産生如下變化:

  1.       建立一個新對象;

  2.       将構造函數的作用域賦給新對象(是以this就指向了這個新對象);

  3.       執行構造函數中的代碼(為這個新對象添加屬性);

  4.       傳回新對象

JavaScript語言精粹--執行環境及作用域,this
JavaScript語言精粹--執行環境及作用域,this

繼續閱讀