首頁 > web前端 > js教程 > javascript閉包入門範例_基礎知識

javascript閉包入門範例_基礎知識

WBOY
發布: 2016-05-16 16:50:35
原創
1175 人瀏覽過

1.

複製程式碼 程式碼如下:

functionsay667()


functionsay667()varsayAlert=function(){alert(num);}
num ;returnsayAlert;

}

varsayAlert=say667();

sayAlert();


2.複製程式碼
程式碼如下:


functionsetUpSomebals(>

functionsetUpSomebals(3)> varnum=666;
gAlertNumber=function(){alert(num);}gIncreaseNumber=function(){num ;}

gSetNumber=function(x){num=x;}
}
}

setUpSomeGlobals();//為三個全域變數賦值
gAlertNumber();//666
gIncreaseNumber();

gAlertNumber();//667gSetNumber(12);

gAlertNumber();//12

複製程式碼


程式碼如下:


functiontionp. >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.複製程式碼

程式碼如下:


functiontionals> 程式碼如下:

functiontionalsays() varsayAlert=function(){alert(alice);}
varalice='HelloAlice';
returnsayAlert;

}

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

複製程式碼


程式碼如下:


functionRef.
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);
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板