闭包
闭包(closure)就是能够读取其他函数内部变量的函数
形成这种闭包需具备三个条件:
-
在函数 a 内部直接或者间接返回一个函数 b
-
b 函数内部使用着 a 函数a的私有变量(私有数据)
-
a 函数外部有一个变量接受着函数b
下面是比较常见产生闭包的代码:
闭包的作用:
延长变量生命周期
闭包b会延长变量num的生命周期,它有能力可以让i活的更久一些。这里的num是a的局部变量,它正常的生命周期是函数a的调用过程
闭包的应用:
闭包的产生和应用有很多,下面列举两种闭包的应用:
1.计数器
2.封装对象的私有变量和方法
闭包的注意点:
使用闭包使得函数中的变量始终在内存中,内存消耗很大,所以不能滥用闭包,否则会造成页面的性能问题
关键字:闭包 函数