Maison  >  Article  >  interface Web  >  Discussion sur l'ordre d'exécution des trois parties séparées par des points-virgules dans les compétences For loop_javascript

Discussion sur l'ordre d'exécution des trois parties séparées par des points-virgules dans les compétences For loop_javascript

WBOY
WBOYoriginal
2016-05-16 16:46:431297parcourir

Ce qui a déclenché cette question, c'est le résultat d'exécution d'un programme js :

Copier le code Le code est le suivant :

var i = 0;
fonction a(){
for(i=0;i<20;i ){
}
}
fonction b(){
for (i=0;i<3;i ){
a();
}
return i;
}
var Résultat = b(); 🎜>
Le résultat d'exécution de ce programme est Résultat = 21

À partir de ce programme, nous pouvons voir que la valeur de i est 20 lorsque la fonction a revient, ce qui ne pose pas de problème.
Lorsque la fonction b revient, la question de savoir si la valeur de i est 20 ou 21 mérite d'être discutée.
L'essence du problème est la suivante : dois-je être jugé en premier, i<3, ou i d'abord, puis juger si i<3

Selon les résultats de l'exécution, on peut voir que je. a été exécuté le premier.


fonction a(){
pour (i= 0;i<20;i ){
// Il n'y a pas de var i
//Le i ici est une variable globale à laquelle tout le monde peut accéder
}
}
fonction b(){
for(i=0;i<3;i ){
//alert(i);//De même, i voici aussi une variable globale, renvoyant 0 et une seule fois
a();// La valeur de retour de cette fonction est i=20
//Quand i=20 passe par i puis i=21, alors la condition de i<3 n'est pas remplie et sort directement. Renvoyez donc i=21, ce qui est normal !
}
return i;
}
var Result = b();


Ici, nous complétons la séquence d'exécution de la boucle for :
Avec ce qui suit programme Par exemple,


for(int i= 0;i<10 ;i )
{
}


Exécutez d'abord i=0;i<10; puis exécutez le premier tour de la boucle
puis exécutez : i ,i<10; then Exécutez le deuxième tour du corps de la boucle
jusqu'à ce que i >= 10 après le dernier i, moment auquel la boucle se termine.

C'est-à-dire que

l'instruction 1 est exécutée avant le début de la boucle (bloc de code).

l'instruction 2 définit les conditions d'exécution de la boucle (bloc de code). >
l'instruction 3 est dans Exécuté après l'exécution de la boucle (bloc de code)
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