闭包
闭包指的是:能够访问另一个函数作用域的变量的函数;
简单来说:闭包就是一个函数,这个函数能够访问其他函数作用域中的变量;
function test(){
var a=1;
return function(){
alert(a);
}
}
var try=test();
try(); //弹出a的值
这个例子中,变量a在test方法外部是无法访问的,但test方法里面,嵌套了一个匿名函数,通过return返回,test作用域中的变量a,可以在匿名函数中访问。并且当test方法执行后,变量a所占内存并不会释放,以达到嵌套的函数还可以访问的目的。
- 闭包的作用在于,可以通过闭包,设计私有变量及方法。
- 注意:由于闭包会携带包含它的函数的作用域,因为会比其他函数占用更多内容,过度使用闭包,会导致内存占用过多。