Dans ce didacticiel, vous découvrirez les boucles while et do… while à l'aide d'exemples.
En programmation, les boucles sont utilisées pour répéter un bloc de code. Par exemple, si vous souhaitez afficher un message 100 fois, vous pouvez utiliser une boucle. C'est juste un exemple simple; vous pouvez faire beaucoup plus avec des boucles.
Dans le didacticiel précédent, vous avez découvert la boucle JavaScript for. Ici, vous allez en apprendre davantage sur while
et do… while
boucles.
JavaScript en boucle
La syntaxe de la while
boucle est:
while (condition) ( // body of loop )
Ici,
- Une
while
boucle évalue la condition entre parenthèses()
. - Si la condition est évaluée à
true
, le code à l'intérieur de lawhile
boucle est exécuté. - La condition est à nouveau évaluée.
- Ce processus se poursuit jusqu'à ce que la condition soit
false
. - Lorsque la condition est évaluée à
false
, la boucle s'arrête.
Pour en savoir plus sur les conditions , consultez Comparaison JavaScript et opérateurs logiques.
Organigramme de la boucle while

Exemple 1: affichage des nombres de 1 à 5
// program to display numbers from 1 to 5 // initialize the variable let i = 1, n = 5; // while loop from i = 1 to 5 while (i <= n) ( console.log(i); i += 1; )
Production
1 2 3 4 5
Voici comment fonctionne ce programme.
Itération | Variable | Condition: i <= n | action |
---|---|---|---|
1er | i = 1 n = 5 | true | 1 est imprimé. i est augmenté à 2 . |
2e | i = 2 n = 5 | true | 2 est imprimé. i est augmenté à 3 . |
3e | i = 3 n = 5 | true | 3 est imprimé. i est augmenté à 4 . |
4e | i = 4 n = 5 | true | 4 est imprimé. i est augmenté à 5 . |
5e | i = 5 n = 5 | true | 5 est imprimé. i est augmenté à 6 . |
6e | i = 6 n = 5 | false | La boucle est terminée |
Exemple 2: Somme des nombres positifs uniquement
// program to find the sum of positive numbers // if the user enters a negative numbers, the loop ends // the negative number entered is not added to sum let sum = 0; // take input from the user let number = parseInt(prompt('Enter a number: ')); while(number>= 0) ( // add all positive numbers sum += number; // take input again if the number is positive number = parseInt(prompt('Enter a number: ')); ) // display the sum console.log(`The sum is $(sum).`);
Production
Entrez un nombre: 2 Entrez un nombre: 5 Entrez un nombre: 7 Entrez un nombre: 0 Entrez un nombre: -3 La somme est de 14.
Dans le programme ci-dessus, l'utilisateur est invité à entrer un nombre.
Ici, parseInt()
est utilisé car prompt()
prend l'entrée de l'utilisateur sous forme de chaîne. Et lorsque des chaînes numériques sont ajoutées, il se comporte comme une chaîne. Par exemple '2' + '3' = '23'
,. Donc parseInt()
convertit une chaîne numérique en nombre.
La while
boucle continue jusqu'à ce que l'utilisateur entre un nombre négatif. Lors de chaque itération, le nombre saisi par l'utilisateur est ajouté à la sum
variable.
Lorsque l'utilisateur entre un nombre négatif, la boucle se termine. Enfin, la somme totale est affichée.
JavaScript faire… en boucle
La syntaxe de la do… while
boucle est:
do ( // body of loop ) while(condition)
Ici,
- Le corps de la boucle est d'abord exécuté. Ensuite, la condition est évaluée.
- Si la condition est évaluée à
true
, le corps de la boucle à l'intérieur de l'do
instruction est à nouveau exécuté. - La condition est à nouveau évaluée.
- Si la condition est évaluée à
true
, le corps de la boucle à l'intérieur de l'do
instruction est à nouveau exécuté. - Ce processus se poursuit jusqu'à ce que la condition soit évaluée
false
. Puis la boucle s'arrête.
Remarque : la do… while
boucle est similaire à la while
boucle. La seule différence est que dans do… while
loop, le corps de loop est exécuté au moins une fois.
Organigramme de do… while Loop

Voyons le fonctionnement de do… while
loop.
Exemple 3: affichage des nombres de 1 à 5
// program to display numbers let i = 1; const n = 5; // do… while loop from 1 to 5 do ( console.log(i); i++; ) while(i <= n);
Production
1 2 3 4 5
Voici comment fonctionne ce programme.
Itération | Variable | Condition: i <= n | action |
---|---|---|---|
i = 1 n = 5 | non vérifié | 1 est imprimé. i est augmenté à 2 . | |
1er | i = 2 n = 5 | true | 2 est imprimé. i est augmenté à 3 . |
2e | i = 3 n = 5 | true | 3 est imprimé. i est augmenté à 4 . |
3e | i = 4 n = 5 | true | 4 est imprimé. i est augmenté à 5 . |
4e | i = 5 n = 5 | true | 6 est imprimé. i est augmenté à 6 . |
5e | i = 6 n = 5 | false | La boucle est terminée |
Exemple 4: Somme des nombres positifs
// to find the sum of positive numbers // if the user enters negative number, the loop terminates // negative number is not added to sum let sum = 0; let number = 0; do ( sum += number; number = parseInt(prompt('Enter a number: ')); ) while(number>= 0) console.log(`The sum is $(sum).`);
Sortie 1
Entrez un nombre: 2 Entrez un nombre: 4 Entrez un nombre: -500 La somme est de 6.
Here, the do… while
loop continues until the user enters a negative number. When the number is negative, the loop terminates; the negative number is not added to the sum variable.
Output 2
Enter a number: -80 The sum is 0.
The body of the do… while
loop runs only once if the user enters a negative number.
Infinite while Loop
If the condition of a loop is always true
, the loop runs for infinite times (until the memory is full). For example,
// infinite while loop while(true)( // body of loop )
Here is an example of an infinite do… while
loop.
// infinite do… while loop const count = 1; do ( // body of loop ) while(count == 1)
In the above programs, the condition is always true
. Hence, the loop body will run for infinite times.
for Vs while Loop
A for
loop is usually used when the number of iterations is known. For example,
// this loop is iterated 5 times for (let i = 1; i <=5; ++i) ( // body of loop )
Et les boucles while
et do… while
sont généralement utilisées lorsque le nombre d'itérations est inconnu. Par exemple,
while (condition) ( // body of loop )