什么是闭包(Closure)

概念:闭包就是能够读取其他函数内部变量的函数。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。所以,外部函数调用之后其变量对象本应该被销毁,但闭包的存在使我们仍然可以访问外部函数的变量对象。

function outer() {
        var a = 1;  //定义一个内部变量
        return function() {
                return a;  //返回a变量值
        }
}
var b = outer();
console.log(b()); //打印:1

产生一个闭包

创建闭包最常见方式,就是在一个函数内部创建另一个函数。下面例子中的 closure 就是一个闭包:

function func() {
    var a= 1, b = 2;
    function closure() { //闭包
        return a + b;  //返回a+b的值
    }
    return closure; //返回闭包函数
}

  

posted @ 2020-05-11 08:59  小蘑菇123  阅读(494)  评论(0编辑  收藏  举报