教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

什么是作用域鏈?作用域鏈是什么?

更新時間:2021年06月25日14時53分 來源:傳智教育 瀏覽次數:

當在一個函數內部聲明另一一個函數時,就會出現函數嵌套的效果。當函數嵌套時,內層函數只能在外層函數作用域內執(zhí)行,在內層函數執(zhí)行的過程中,若需要引人某個變量,首先會在當前作用域中尋找,若未找到,則繼續(xù)向上一- 層級的作用域中尋找,直到全局作用域。我們稱這種鏈式的查詢關系為作用域鏈。

下面我們通過代碼演示在函數嵌套中的作用域鏈效果。

  var num = 10;
  function fn() {             //外部函數
    var num = 20;
   function fun() {          //內部函數
      console.log (num);      //輸出結果: 20
  }
  fun() ;
 }
fn() ;

在上述代碼中,fun(函數內訪問了num變量,由于在fun(函數內部不存在num變量,所以向,上級作用域中查找。fun() 函數的上級作用域是fn0函數,在該函數中找到了num變量,所以輸出結果為20。假如在fn)函數中也沒有num變量,則再往上查找,這時就到了全局作用域,此時num的值就是全局作用域下的10。



猜你喜歡:

JavaScript函數基礎入門

偏函數是什么?Functools模塊偏函數詳解?

哪些瀏覽器支持HTML5?

傳智教育Python+大數據開發(fā)培訓

0 分享到:
和我們在線交談!