概念:闭包是指一个函数嵌套另一个函数另一个函数可以访问当前这个函数的局部变量,闭包是将函数内部和函数外部连接起来的桥梁
闭包的作用:缓存数据,延长作用域
- 优点:缓存数据,延长作用域
- 缺点:缓存数据,延长作用域(使用闭包需谨慎,形成过多不消毁的私有作用域,可能导致内存泄漏)
闭包的本质 :形成一个不销毁的私有作用域
//闭包的实现
function fn(){
var n = 1;
//将test这个函数返回
return function(){
n++;
console.log(n);
}
}
var resFn = fn();//将fn调用完成的返回值保存到变量resFn中
resFn();//2
resFn();//3
resFn();//4