闭包(保护保存)(想要释放闭包就在你调用的结尾:var一个把函数等于null ;比如var bar=foo();bar=null;这就算释放了,下面继续调用那么就是报错)
首先了解闭包的作用
-
可以在函数的外部访问到函数内部的变量,也就是「间接访问一个变量」。
-
让这些变量始终保存在内存中,不会随着函数的结束而自动销毁。
-
防止命名冲突。
比较简单的例子:
function foo(){
var a = 1;
return function bar(){
++a;
console.log(a)
}
}
var bar = foo();
bar() // 2
bar = null; // 释放闭包
// var bar = foo();//重新创建闭包,下面还会继续使用
//,如果不建设闭包,下面再次调用就会报错
//bar()
如果有什么说的不对,可以纠正我