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.

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