1、产生:在嵌套内部函数定义执行(上下文的时候)完时就产生了(不是在调用)
2、死亡:在嵌套内部函数成为垃圾对象时。包含闭包的对象成为垃圾对象
/*常见的闭包*/
function fn1(){
//此时闭包存在
var a=2;
function fn2(){
a++;
console.log(a);
}
return fn2;
}
var f=fn1();//创建闭包
f();//3
f();//4
f=null;//此时闭包死亡
定义执行(上下文的时候),注意上下文的
function fn1(){
var a=2;
var b=function fn2(){
a++;
console.log(a);
}
return b;//此时闭包存在
}
var f=fn1();//创建闭包
f();//3
f();//4
f=null;//此时闭包死亡