做用域

[[scope]]:每一個Javascript函數都是一個對象,對象中有些屬性咱們能夠訪問,但有些不能夠,這些屬性進攻javascript引擎存取,[[scope]]就是其中一個。javascript


 

[[scope]]  指的就是咱們所說的做用域,其中存儲了運行期上下文的集合。java


 

做用域鏈:[[scope]]中所存儲的執行期上下文對象的集合,這個集合呈鏈式連接,咱們把這種鏈式連接叫作做用域鏈。函數


 

運行期上下文:spa

當函數執行時,會建立一個稱爲執行期上下文的內部對象。一個執行期上下文定義了一個函數執行時的環境,函數每次執行時對應的執行上下文都是獨一無二的,因此每次調用一個函數會致使建立多個執行上下文,當函數執行完畢,它所產生的執行上下文被銷燬。對象


 

查找變量:從做用域鏈的頂端依次向下查找。blog


 


 

演示過程ip

1、例子作用域

2、函數被定義變量

3、a函數被執行im

4、b函數被定義

5、b函數被執行

注:摘自姬誠老師筆記

相關文章
相關標籤/搜索