作用域,就是變數起作用的區域(範圍)。
全域性作用域(在函式和 {} 之外)。
函式作用域(在函式內部)。
塊級作用域(es6新增,在 {} 中)。
當瀏覽器想要執行j**ascript**時就呼叫這個容器。
在這個容器中,有兩個元件:1.記憶體元件;2.**元件。
瀏覽器建立了乙個有兩個元件的全域性執行上下文,這兩個元件分別是記憶體元件和**元件。詳細介紹在前乙個部落格
瀏覽器將分兩階段執行這段j**ascript**:
1> 記憶體建立階段
2> **執行階段
1.建立ao物件
2.找形參和變數宣告,將變數和形參作為ao屬性名,值為undefined
3.將實參和形參統一
4.在函式體裡面找函式宣告,值賦予函式體
第3章 第2 2節 預編譯
2.1 函式宣告整體提公升 2.2 變數宣告提公升 2.3 預編譯前奏 1.imply global 暗示全域性變數 即任何變數,如果變數未經宣告就賦值,此變數就為全域性物件所有。eg a 123 eg var a b 123 2.一切宣告的全域性變數,全是window的屬性。eg var a 12...
第3章 第2 2節 預編譯
2.1 函式宣告整體提公升 2.2 變數宣告提公升 2.3 預編譯前奏 1.imply global 暗示全域性變數 即任何變數,如果變數未經宣告就賦值,此變數就為全域性物件所有。eg a 123 eg var a b 123 2.一切宣告的全域性變數,全是window的屬性。eg var a 12...
第五章 作用域閉包
當函式可以記住並訪問所在的詞法作用域,就產生了閉包 for var i 0 i 5 i i 1000 這裡就涉及到事件的輪詢機制。非同步事件和同步事件,非同步事件會在最後執行。要解決上面的問題有兩種方法,分別是使用立即執行函式和塊級作用域來解決,都為函式建立了乙個塊級作用域。這樣內部的timer函式...