闭包、原型链、作用域链

《Javascript高级程序设计》上说,所谓闭包是有权访问另一个函数作用域中变量函数。因此可以看出来,闭包是一个函数。创建闭包的方式,常用的是在一个函数里面创建另一个函数。

举个例子:

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

闭包就是一个函数引用另外一个函数的变量,因为变量被引用着所以不会被回收,因此可以用来封装一个私有变量。这是优点也是缺点,不必要的闭包只会徒增内存消耗!另外使用闭包也要注意变量的值是否符合你的要求,因为他就像一个静态私有变量一样。

猜你喜欢

转载自blog.csdn.net/zljiaa/article/details/81486158
今日推荐