js -- 閉包

當內部函數被保存到外部的時候會生成閉包,閉包會導致作用域鏈不釋放,造成內存泄漏。

應用:公有變量;緩存;封裝,屬性私有化;模塊化開發,防止污染全局變量。

例子:

  function fun () {
            var a = 0;
            function add () {
                a++;
                console.log(a);
            }
            return add;
        }
 
        var test = fun();
        test();
        test();
這個例子中將add函數保存到了外部,形成了閉包,所以變量a就會成爲共有變量,第一次執行test輸出1,第二次執行test輸出2.

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