栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

javascript闭包入门示例

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javascript闭包入门示例

1.
复制代码 代码如下:
functionsay667(){
varnum=666;
varsayalert=function(){alert(num);}
num++;
returnsayalert;
}

varsayalert=say667();
sayalert();

2.
复制代码 代码如下:
functionsetUpSomeGlobals(){
varnum=666;
galertNumber=function(){alert(num);}
gIncreaseNumber=function(){num++;}
gSetNumber=function(x){num=x;}
}

setUpSomeGlobals();//为三个全局变量赋值
galertNumber();//666
gIncreaseNumber();
galertNumber();//667
gSetNumber(12);
galertNumber();//12

3.
复制代码 代码如下:
functionbuildList(list){
varresult=[];
for(vari=0;ivariteml='item'+list[i];
result.push(function(){alert(item+''+list[i]);});
}
returnresult;
}

functiontestList(){
varfnlist=buildList([1,2,3]);
for(varj=0;jfnlist[j]();
}
}

4.
复制代码 代码如下:
functionsayAlice(){
varsayalert=function(){alert(alice);}
varalice='HelloAlice';
returnsayalert;
}

varhelloAlice=sayAlice();
helloAlice();//HelloAlice

5.
复制代码 代码如下:
functionnewClosure(someNum,someRef){
varnum=someNum;
varanArray=[1,2,3];
varref=someRef;
returnfunction(x){
num+=x;
anArray.push(num);
alert('num:'+num+'nanArray'+anArray.toString()+'nref.someVar'+ref.someVar);
}
}

closure1=newClosure(40,{someVar:'closure1'});
closure2=newClosure(1000,{someVar:'closure2'});

closure1(5);
closure2(-10);

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/107294.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号