js基礎練練手(一)

function f() {
  var a = 10;
  return function g() {
    var b = a + 1;
    return b;
  };
}

var g = f();
g();
// 結果是11
// 原因:閉包。
// g()在內部訪問的外部定義的a變量。導致f()執行完畢a()並沒有被釋放。所以整個結果是11

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章