手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >javascript闭包入门示例
javascript闭包入门示例
摘要:1.复制代码代码如下:functionsay667(){varnum=666;varsayAlert=function(){alert(nu...

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;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.

复制代码 代码如下:

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);

【javascript闭包入门示例】相关文章:

理解javascript中的with关键字

javascript先序遍历DOM树的方法

javascript常用的方法分享

JavaScript中Number.MIN_VALUE属性的使用示例

javascript中this的四种用法

javascript正则表达式总结

javascript实现简单的进度条

javascript中FOREACH数组方法使用示例

解析javascript中鼠标滚轮事件

javasript实现密码的隐藏与显示

精品推荐
分类导航