闭包666
闭包: 嵌套在函数作用域中的函数,称为闭包函数.该作用域称为闭包环境.
通过闭包函数可以访问闭包函数所在函数作用域中的形参与变量
闭包的原理:
利用了JS中的垃圾回收机制,当一个函数被调用时,开辟空间,函数调用结束,就是释放空间.垃圾回收机制释放被调用结束的函数时,发现函数的变量正在被其它函数使用.这些变量不会被释放,且是永久驻留在内存.只有退出程序,才会被释放,或者是手工释放(= null)
上代码:
function fn(a){
var b = 2;
return function(){ //闭包函数
return [a,b];
}
}
function me(){
var [a,b] = fn(1)();
alert(b);
alert(a);
}
me();