Maison  >  Article  >  interface Web  >  Exemple de mise en route de fermeture JavaScript_Connaissances de base

Exemple de mise en route de fermeture JavaScript_Connaissances de base

WBOY
WBOYoriginal
2016-05-16 16:50:351167parcourir

1.

Copier le code Le code est le suivant :

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

varsayAlert=say667();
sayAlert();

2.

Copier le code Le code est le suivant :

functionsetUpSomeGlobals(){
varnum=666;
gAlertNumber=function(){alert(num);}
gIncreaseNumber=function(){num ;}
gSetNumber=function(x){num=x;}
}

setUpSomeGlobals();//Attribuer des valeurs à trois variables globales
gAlertNumber();//666
gIncreaseNumber();
gAlertNumber();//667
gSetNumber(12 );
gAlertNumber();//12

3.

Copier le code Le code est le suivant :

functionbuildList(list) {
varresult=[];
for(vari=0;ivariiteml='item' list[i];
result.push(function() {alert( item '' list[i]);});
}
returnresult;
>

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

4.

Copier le code Le code est le suivant :

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

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

5.

Copier le code Le code est le suivant :

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

fermeture1(5);
fermeture2(-10);

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn