作者:Life一切安好 | 来源:互联网 | 2020-09-15 18:07
JS闭包的作用就是在A执行完并返回后,使得Javascript的垃圾回收机制不会收回A所占用的资源,因为A的内部函数B的执行需要依赖A中的变量,如果不使用闭包,B函数执行所依赖的变量会造成全局污染。
JS 闭包的作用就是在A执行完并返回后,使得Javascript的垃圾回收机制不会收回A所占用的资源,因为A的内部函数B的执行需要依赖A中的变量,如果不使用闭包,B函数执行所依赖的变量会造成全局污染。
集合 S 是闭集当且仅当 Cl(S)=S(这里的cl即closure,闭包)。特别的,空集的闭包是空集,X 的闭包是 X。集合的交集的闭包总是集合的闭包的交集的子集(不一定是真子集)。有限多个集合的并集的闭包和这些集合的闭包的并集相等;零个集合的并集为空集,所以这个命题包含了前面的空集的闭包的特殊情况。无限多个集合的并集的闭包不一定等于这些集合的闭包的并集,但前者一定是后者的父集。
若 A 为包含 S 的 X 的子空间,则 S 在 A 中计算得到的闭包等于 A 和 S 在 X 中计算得到的闭包(Cl_A(S) = A ∩ Cl_X(S))的交集。特别的,S在 A 中是稠密的,当且仅当 A 是 Cl_X(S) 的子集。
闭包示例
模拟私有变量:
function Counter(start){
var count = start;
return{
increment:function(){
count++;
},
get:function(){
return count;
}
}
}
var foo = Counter(4);
foo.increment();
foo.get();// 5
这里,Counter 函数返回两个闭包,函数 increment 和函数 get。 这两个函数都维持着对外部作用域 Counter 的引用,因此总可以访问此作用域内定义的变量count。
推荐教程:《Javascript》
以上就是JS 闭包的作用是什么?的详细内容,更多请关注 第一PHP社区 其它相关文章!