js 函式作用域鏈簡單介紹

admin發表於2017-04-15

本章節簡單介紹一下javascript函式作用域鏈,希望能夠能夠給需要的朋友帶來幫助。

在js中,每個函式都有自己的作用域,它儲存於函式的活動物件(Active Object)中。

函式經過相互巢狀,那麼就形成了作用域鏈,圖示如下:

a:3:{s:3:\"pic\";s:43:\"portal/201704/15/121516bkvo15zkoe3no5v8.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

特別說明:作用域鏈就是從裡到外的AO鏈。

變數查詢:

fn3中使用的變數,如在fn3作用域內尋找不到,則往外層fn2作用域尋找,以此類推,直到全域性物件window。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
var c = 5; 
function t1(){ 
  var d = 6; 
  function t2(){ 
    var e = 7; 
    var d = 3;
 //如果在這裡宣告的var d = 3,
 //那麼函式就不在向外尋找變數d,輸出的值為15 
    console.log(c+d+e); 
  } 
  t2(); 
} 
t1();

相關文章