JavaScript while et do ... while Loop (avec exemples)

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 whileet do… whileboucles.

JavaScript en boucle

La syntaxe de la whileboucle est:

 while (condition) ( // body of loop )

Ici,

  1. Une whileboucle évalue la condition entre parenthèses ().
  2. Si la condition est évaluée à true, le code à l'intérieur de la whileboucle est exécuté.
  3. La condition est à nouveau évaluée.
  4. Ce processus se poursuit jusqu'à ce que la condition soit false.
  5. 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

Organigramme de JavaScript en boucle

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 whileboucle 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 sumvariable.

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… whileboucle est:

 do ( // body of loop ) while(condition)

Ici,

  1. Le corps de la boucle est d'abord exécuté. Ensuite, la condition est évaluée.
  2. Si la condition est évaluée à true, le corps de la boucle à l'intérieur de l' doinstruction est à nouveau exécuté.
  3. La condition est à nouveau évaluée.
  4. Si la condition est évaluée à true, le corps de la boucle à l'intérieur de l' doinstruction est à nouveau exécuté.
  5. Ce processus se poursuit jusqu'à ce que la condition soit évaluée false. Puis la boucle s'arrête.

Remarque : la do… whileboucle est similaire à la whileboucle. La seule différence est que dans do… whileloop, le corps de loop est exécuté au moins une fois.

Organigramme de do… while Loop

Organigramme de JavaScript faire… en boucle

Voyons le fonctionnement de do… whileloop.

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 whileet do… whilesont généralement utilisées lorsque le nombre d'itérations est inconnu. Par exemple,

 while (condition) ( // body of loop )

Articles intéressants...