您的位置:首页 > Web前端 > JavaScript

javascript闭包(3)

2012-04-06 13:05 169 查看
View Code

<script language="javascript" type="text/javascript">
/*
一个简单的计数器
*/
function counter(iden,addi){
return function(){
iden=iden+addi;
return iden;
}
}
var c1=counter(0,1);
var c2=counter(10,-1);

for(var i=0;i<10;i++){
c1();
}
/*Javascript变量在for() if() switch() 等等没有作用域
alert(i) //输出:10
*/
for(var i=0;i<10;i++){
alert(c2());
}

/*
外部环境的读写和闭包出现在函数体内的顺序没有关系

理解:createClosure2()函数return a时才创建Function对象a,
变量x在创建对象之前,所以跟顺序没有关系
*/
function createClosure(){
var x=10;
return function(){
return x;
}
}
function createClosure2(){
function a(){
return x;
}
var x=10;
return a;
}
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: