JavaScript - Les boucles
[Mise à jour le 21/6/2021]
- Sources et compléments sur MDN Web Docs
- Lectures connexes
- Wikis WebPEM : "Préparer un projet de site Web avec l'IDE VSCode"
1. Introduction
En programmation, une boucle est un traitement répété plusieurs fois grâce à un bloc d'instructions codé une seule fois.
Il existe de type de structures de boucles :
- La boucle for déclenche une boucle avec un compteur de passage.
- La boucle while répète la boucle tant qu'une condition est vraie.
2. La boucle for
La boucle for permet de traiter les éléments d'un ensemble dont on connaît à l'avance l'ensemble des occurrences.
Syntaxe
- *.js
for (initialisation compteur; condition sur compteur; incrément compteur) { // Traitements répétés dans la boucle }
Exemple
- *.js
// Calcul de la somme des valeurs de 1 à n var somme = 0, n = 45; for (i = 0; i <= n; i++) { somme += i; } console.log("Somme=" + somme + " pour n=" + n); // Affiche Somme=1035 pour n=455
Interrompre la boucle avant la fin prévue
Il est possible d'arrêter une boucle for avant la fin prévue par le test de condition en utilisant l'instruction break. La boucle s'interrompt et le script se poursuit après le bloc d'instructions for {…}
3. La boucle while
La boucle while (tant que) est exécutée tant que sa condition est vraie.
Syntaxe
- *.js
while (condition) { // Traitements répétés dans la boucle }
Exemple
- *.js
// Recherche de la valeur de n tel que la somme de 1 à n soit supérieure à 1000 var somme = 0, n = 0; while (somme < 1000) { n++; somme += n; } console.log("Somme=" + somme + " pour n=" + n); // Affiche Somme=1035 pour n=45
4. La boucle do ... while
Dans la boucle do … while, un premier passage s'effectue systématiquement dans le bloc d'instructions.
Syntaxe
- *.js
do { // Traitements répétés dans la boucle } while (condition);
Exemple
- *.js
// Recherche de la valeur de n tel que la somme de 1 à n soit supérieure à 1000 var somme = 0, n = 0; do { n++; somme += n; } while (somme < 1000) console.log("Somme=" + somme + " pour n=" + n); // Affiche Somme=1035 pour n=45