js的闭包了解吗?
闭包就是能够读取其他函数内部变量的函数。
function outer(){
var n=999;
globalInner=function(){n+=1};
function inner(){
alert(n);
};
return inner;
}
var innerFn=outer();
innerFn(); // 999
globalInner();
innerFn(); // 1000
闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题(内存泄漏)。详情参见:学习Javascript闭包(Closure)
网友评论