1、闭包的解释

闭包是指在函数内部创建另一个函数,使得内部函数可以访问外部函数的变量和参数,即使外部函数已经执行完毕。这样就可以实现将函数或者变量在内存中长久存留,使得在外部函数执行完毕后,内部函数仍然可以访问外部函数的变量和参数。这种特性可以被用来实现一些高级的编程技巧,例如函数柯里化、延迟计算等。

2、闭包的使用

2.1封装私有变量

function a() {
    var privepwd=0
    this.getPri=function(){
        console.log(privepwd)
        return privepwd;
    }
    this.privepwdadd=function(){
        privepwd++
    }
}
console.log("===========")
var a =new a();
a.privepwdadd()
a.getPri()
a.privepwdadd()
console.log(a.getPri())

这里将privepwd封装在a函数中,这样因为作用域的关系你是无法访问到privepwd的,但是通过在函数里面创建函数然后内部函数返回privepwd是可以在外部访问到变量的。

2.2