闭包

当内部函数被保存到外部时,将会生成闭包。闭包会导致原有作用域链不释放,造成内存泄露
自由变量跨作用域取值时,要去创建这个函数的作用域取值,而不是“父作用域”
函数内部变量无法在函数外部访问
在一个闭包环境内修改变量值,不会影响另一个闭包中的变量

闭包作用:
1.实现公有变量
2.可以做缓存
3.实现封装,属性私有化
function a(){
function b(){
var bb = 789;
document.write(aa)//456
}
var aa = 456;
return b;
}
var glob = 200;
var demo = a();
demo();
 
原文地址:https://www.cnblogs.com/mishiyang/p/11940553.html