1.2.3.17.了解閉包(一)

  • 為什麼sayHi會知道whattosay是甚麼?

      1 function greet(whattosay) {
      2     return function(name) {
      3         console.log(whattosay + '' + name);
      4     }
      5 }
      6 var sayHi = greet('Hi');
      7 sayHi('Tony');
  • 小結

    • 1.雖然greet函數已經結束, 它裡面的函數還是可以參考到greet函數在記憶體中的位置執行環境中記憶體的位置

    • 2.執行環境可以把它外部變數關住, 包住, 這種包住所有可以取用的變數的現象稱為閉包

    • 3.閉包可確保執行函數時可以正常運作, 可以取用到外部變數, 而不用在乎外部函數運行完了沒

Last updated

Was this helpful?