<!doctype html>
<html>
<head>
<title>标题</title>
<meta charset="utf-8">
<script>
function factory(){
var n=1;
return function(){
console.log(n++);
}
}
var icbc=factory();
//icbc:function(){ n=1
//console.log(n++);
//}
//释放闭包:
//icbc=null;
//-> 内层函数释放
//-> factory的AO释放
var abc=factory();
//abc:function(){ n=1
//console.log(n++);
//}
//鄙视题:
/*
function fun(){
for(var i=0,arr=[];i<3;i++){
arr[i]=
function(){console.log(i);}
}//i=3
return arr;
}
var funs=fun();
//funs:[
//function(){console.log(i);},
//function(){console.log(i);},
//function(){console.log(i);}
//]
funs[0]();//3
funs[1]();//3
funs[2]();//3
*/
var nAdd;
function fun(){
var n=999;
//如果给未声明的变量赋值,自动在全局创建
nAdd=function(){n++;};
return function(){
console.log(n);
}
}
var getNum=fun();
getNum();//?
nAdd();
getNum();//?
</script>
</head>
<body>
</body>
</html>
javascript闭包
最新推荐文章于 2024-07-09 19:02:21 发布