1.闭包指的是有权访问另一个函数作用域中变量的函数,创建闭包的常见方式,就是在一个函数内部创建另一个函数。
function f1(){
var n=999;
function f2(){
alert(n); // 999
}
}
function f1(){
var n=999;
function f2(){
alert(n);
}
return f2;
}
var result=f1();
result(); // 999
2.闭包的用处:
闭包可以用在许多地方。它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。
function f1(){
var n=999;
nAdd=function(){n+=1}
function f2(){
alert(n);
}
return f2;
}
var result=f1();
result(); // 999
nAdd();
result(); // 1000
3.使用必闭包的问题:
由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题。
参考学习:https://blog.csdn.net/u012559216/article/details/60771059