1 2 3 4 5
1 function fn1() { 2 var num = 10; 3 function fn2() { 4 console.log(num); 5 } 6 return fn2; 7 } 8 9 fn1();10 var f = fn1();11 f();12 内部函数获取外部函数的变量
闭包主要是为了解决局部变量无法长久的保存,而全局变量可能造成变量污染
垃圾回收机制
1
闭包的产生是在嵌套函数定义执行完时就产生了(不是在调用的时候)
闭包的死亡f=null
小闭包:
(function(){})()