[[web:javascript|{{ :iconemaison.jpg?nolink&25|Accueil JavaScript}}]] ===== JavaScript - Les boucles ===== [Mise à jour le 21/6/2021] * **Sources** et compléments sur **MDN Web Docs** * Boucles et itérations * ** Lectures connexes** * Wikis WebPEM : [[:outils:vscode:web|"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 // for (initialisation compteur; condition sur compteur; incrément compteur) { // Traitements répétés dans la boucle } // Exemple // // 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 // while (condition) { // Traitements répétés dans la boucle } // Exemple // // 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 // do { // Traitements répétés dans la boucle } while (condition); // Exemple // // 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