執行環境和作用域
執行環境
每一個函數都是一個執行環境,函數A裏面定義的函數B,則A就是B的父環境,B可以訪問A中定義的變量,A不能訪問B內的變量。最外層的執行環境,對於瀏覽器而言,就是window,也就是全局執行環境。
作用域
當代碼在一個環境中執行,會創建變量對象的作用域鏈。訪問該變量,從作用域鏈最前端開始找。一直到最外層的全局執行環境。
延長作用域
在作用域鏈最前端臨時增加變量對象,代碼執行完畢後移除。
更改作用域
用call()或者apply()函數
每一個函數都是一個執行環境,函數A裏面定義的函數B,則A就是B的父環境,B可以訪問A中定義的變量,A不能訪問B內的變量。最外層的執行環境,對於瀏覽器而言,就是window,也就是全局執行環境。
當代碼在一個環境中執行,會創建變量對象的作用域鏈。訪問該變量,從作用域鏈最前端開始找。一直到最外層的全局執行環境。
在作用域鏈最前端臨時增加變量對象,代碼執行完畢後移除。
用call()或者apply()函數