js闭包理解

闭包案例

function a(){
    var n = 0;
    function inc() {
        n++;
        console.log(n);
    }
    inc();  
    inc(); 
}
a(); //控制台输出1,再输出2

总结

有权访问另一个函数作用域内变量的函数都是闭包
闭包就是一个函数引用另外一个函数的变量,因为变量被引用着所以不会被回收,因此可以用来封装一个私有变量。这是优点也是缺点,不必要的闭包只会徒增内存消耗!
优点就是会增长作用域链,缺点就是不能释放内存,造成内存泄漏!

posted @ 2018-08-19 22:42  格式化lu、  阅读(113)  评论(0编辑  收藏  举报