1、闭包
(1)闭包产生的条件
1、函数嵌套函数
2、变量在外面函数声明,在里面函数使用
这个内部函数一直保持有对外部函数中作用域的访问权限(小盒子一直可以有大盒子的访问 权限)
下面是闭包的例子:
function foo(){
var a = 10;
return function(){
return ++a
}
}
var c = foo();
console.log(c());
console.log(c());
打印的结果是 11 12
(2)闭包的坏处
会造成内存泄漏