- · Niveau : INTERMÉDIAIRE
- · Compatibilité : Tous les navigateurs
Avec les tests de conditions, les boucles sont en programmation ce que les « stacks » sont à l’informatique. Hein! Tout simplement que les boucles sont à la base de la programmation. Aucun programme ni aucun langage peut s’en passer. On peut faire des miracles avec les boucles, tout particulièrement avec les boucles récursives. Vous pouvez avoir un code passablement long converti en une simple boucle.
L’énoncé " For "
Le " For " a ceci de particulier, il est construit comme le " for " du langage C. Il permet, comme tout bon " for…next ", de boucler ou de passer x fois un traitement selon une ou plusieurs conditions. En anglais " loop ".
Construit en trois expressions optionnelles entre parenthèses et séparées par des points virgule, suivit par un " bloc " de traitement exécuté à chaque boucle.
Syntaxe :
For ([expression initiale]; [condition]; [ajustement de
l’expression]) {
Bloc de traitement
}
- expression initiale : Généralement utilisé pour initialiser une variable
compteur. Vous pouvez déclarer une nouvelle variable avec le mot réservé " var
". Optionnel.
- condition : La condition est évaluée à chaque passage de la boucle.
Si la condition est vraie " true ", le bloc de traitement sera exécuté. Si la
condition est fausse " false " alors la boucle est terminée sans exécuter le bloc
de traitement. Le test de condition est optionnel. S’il n’est pas présent, alors
la condition sera toujours vraie et le bloc de traitement toujours exécuté.
- ajustement de l’expression : Généralement utilisé pour ajuster ou incrémenter la variable compteur. Optionnel.
Exemple :
La boucle " For " suivante débute par déclarer la variable i et de l’initialiser à zéro. Ensuite le test de condition vérifie que la variable i est plus petite que 5, si la variable i est plus petite que 5 alors le bloc de traitement {n += i} est exécuté. Puis l’ajustement de la variable i incrémente celle-ci de 1.
x = 0; for (var i =0; i < 5; i++) { x += i }
Résultat Passage 1 : x = 0
Passage 2 : x = 1
Passage 3 : x = 3
Passage 4 : x = 6
Passage 5 : x = 10
Passage 6 : sortie x = toujours 10
Interruption de la boucle avec l’énoncé " BREAK "
L’énoncé " break " permet de sortir d’une boucle sans considération des conditions
de la boucle.
Exemple : x = 0; for (var i =0; i < 5; i++) { if (i == 3) break x += i }
Résultat : x = 3
Si " x += i " avait été placé avant l’énoncé break, x aurait égalé 6.
Interruption dans la boucle avec l’énoncé " CONTINUE "
L’énoncé " continue " permet de sortir de l’exécution d’un bloc de traitement
mais la boucle continue.
Exemple: x = 0; for (var i =0; i < 5; i++) { if (i == 3) continue x += i }
Résultat :
Passage 1 : x = 0
Passage 2 : x = 1
Passage 3 : x = 3
Passage 4 : x = 3
Passage 5 : x = 7
Passage 6 : sortie x = toujours 7
L’énoncé " For…in "
Une boucle simple qui permet de passer les propriétés d’un objet.
Syntaxe :
for (var in objet) {
Bloc de traitement
}
Exemple : // Fonction pour initialiser les valeurs d’un objet. function personne(nom, age, sex) { this.nom = nom this.age = age this.sex = sex } // Initialisation de l’objet "elle" elle = new personne("aline", 26, "F") for (var i in elle){ n = elle[i] document.write(n); }
Résultat : aline26F
L’énoncé " While "
Exécute une boucle et un le bloc de traitement qu’elle contient tant et aussi
longtemps que le test de condition est vraie " true ".
Syntaxe :
while (condition) {
Bloc de traitement
}
Exemple : y = 0 x = 0; while( y < 5 ){ y ++; x += y }
Résultat :
Passage 1 : x = 1
Passage 2 : x = 3
Passage 3 : x = 6
Passage 4 : x = 10
Passage 5 : x = 15
Passage 6 : sortie x = toujours 15
Les énoncés " break " et " continue " peuvent être utilisés avec l’énoncé " while " voir l’exemple plus haut avec l’énoncé " For ".
ATTENTION
Il peut être risqué de travailler à la légère avec des boucles. Une boucle infinie
peut surcharger le serveur.
NOTE sur les opérateurs Javascript utilisés dans ce tutoriel
(x += y) = (x = x + y)
(x++) = ( x = x + 1)