Js閉包和好處

JS閉包的特點:在函數內部嵌套一個函數。使內部的函數能訪問外層函數定義的變量。

例如:

//閉包

function a(){

  var i=0;

  function b(){

  alert(++i);

  }

  return b;

  }

//調用

  var c = a();

  c();

 

閉包的好處:保護了a函數中的變量i。因爲a函數返回的是b。所以在用var c=a()。構造a函數時,實際上指向的是b函數。所以,只有通過b函數才能訪問到a裏面的i變量;另一個好處,由於函數b要用到函數a裏面的變量,所以GC並不會回收a的資源。每一次執行c的時候i都會++。

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