JS閉包

  1.什麼是閉包:閉包是一種保護私有變數的機制,在函數執行時形成私有的作用域,保護裡面的私有變數不受外界干擾,使得私有變數不被JavaScript垃圾回收機制強制回收,直觀的講是函數裡面套函數!

   2.閉包的優點:一個函數可以訪問另外一個函數的變數,可以保護私有變數不被全局變數污染,在一個不熟悉的網頁中嵌入功能使用閉包是很好的選擇。

   3.閉包的缺點:過多使用閉包會造成記憶體佔用過多的問題,濫用閉包會造成記憶體泄漏即記憶體不被釋放,我們知道函數一執行完裡面的變數就會立即銷毀。

   4.程式碼:

function add(){
    var num = 0;
    return function(){
     num++; console.log(num
); } } var addFun = add(); addFun();//1 addFun();//2 addFun();//3