/*
一、 什么是闭包?
嵌套在另一个函数中的函数,称为闭包函数。
二、闭包的作用?
是为解决全局变量造成污染的问题
三、闭包的本质?
是将一个局部变量常驻内存(既是优点,也是缺点)===有可能造成内存泄露(内存被长期占用而不被释放,称为内存泄露)
四、闭包的原理?
利用了JS中垃圾回收机制在回收被释放的变量或函数时,如果发现被释放的变量正在被使用,则该变量不再被回收,会长期驻留在内存中,直到整个程序退出后被系统释放。手动释放被闭包的变量,将该变量赋值为null
*/
//alert(a);
// (function(){
// var a = 3;
// function fn(){
// a = 3;
// }
//
// function fn1(){
// a += 3;
// }
// })();
function fn(){
var a = 3;
return function(){ //闭包函数
return a;
}
}
(function(){
alert(fn()());
})()