源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

javascript闭包入门示例

  • 时间:2022-08-06 14:32 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:javascript闭包入门示例
1.
[u]复制代码[/u] 代码如下:
functionsay667(){ varnum=666; varsayAlert=function(){alert(num);} num++; returnsayAlert; } varsayAlert=say667(); sayAlert();
2.
[u]复制代码[/u] 代码如下:
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.
[u]复制代码[/u] 代码如下:
functionbuildList(list){ varresult=[]; for(vari=0;i<list.length;i++){ variteml='item'+list[i]; result.push(function(){alert(item+''+list[i]);}); } returnresult; } functiontestList(){ varfnlist=buildList([1,2,3]); for(varj=0;j<fnlist.length;j++){ fnlist[j](); } }
4.
[u]复制代码[/u] 代码如下:
functionsayAlice(){ varsayAlert=function(){alert(alice);} varalice='HelloAlice'; returnsayAlert; } varhelloAlice=sayAlice(); helloAlice();//HelloAlice
5.
[u]复制代码[/u] 代码如下:
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);
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部