A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Statements/while below:

while - JavaScript | MDN

while

Baseline Widely available

L'instruction while permet de créer une boucle qui s'exécute tant qu'une condition de test est vérifiée. La condition est évaluée avant d'exécuter l'instruction contenue dans la boucle.

Exemple interactif
let n = 0;

while (n < 3) {
  n++;
}

console.log(n);
// Expected output: 3
Syntaxe
while (condition)
  instruction
condition

Une expression qui est évaluée avant chaque passage dans la boucle. Si cette expression est évaluée à vrai, instruction est exécutée. Lorsque la condition n'est pas vérifiée, l'exécution se poursuit avec l'instruction qui suit la boucle while.

instruction

Une instruction optionnelle qui doit être exécutée tant que la condition d'entrée est vérifiée. Afin d'exécuter plusieurs instructions au sein de la boucle, on utilisera généralement un bloc d'instructions ({ /* … */ }) pour les regrouper.

Note : On pourra utiliser l'instruction break afin d'arrêter une boucle avant que la condition soit vérifiée.

Exemples Utiliser while

La boucle while qui suit s'exécute tant que n est strictement inférieur à 3.

let n = 0;
let x = 0;

while (n < 3) {
  n++;
  x += n;
}

À chaque itération, la boucle incrémente la valeur de n et l'ajoute à x. Ainsi, x et n prennent les valeurs suivantes :

Une fois que la troisième itération est exécutée, la condition n < 3 n'est plus vérifiée et donc la boucle se termine.

Attention aux affectations dans les conditions

La condition passée à l'instruction correspond généralement à un test. Si on oublie un signe égal =, un test d'égalité ou de comparaison peut devenir une affectation et entraîner un comportement inattendu avec une boucle infinie.

Par exemple, le fragment qui suit causera une boucle infinie :

const seuil = 14;
let compteur = 0;
while ((compteur = seuil)) {
  compteur++;
  /* Faire quelque chose avec compteur */
}

Ici, il s'agit de corriger le test en utilisant le bon opérateur de comparaison :

const seuil = 14;
let compteur = 0;
while (compteur <= seuil) {
  compteur++;
  /* Faire quelque chose avec compteur */
}

Si on veut explicitement utiliser une affectation comme condition pour la boucle while, la convention veut d'ajouter une paire de parenthèses (correspondant à l'opérateur de groupement) autour de l'instruction d'affectation afin d'afficher clairement l'intention, idéalement en utilisant la valeur de retour de cette affectation pour faire la comparaison :

const iterator = document.createNodeIterator(document, NodeFilter.SHOW_COMMENT);
let currentNode;
while ((currentNode = iterator.nextNode()) !== null) {
  console.log(currentNode.textContent.trim());
}
Spécifications Compatibilité des navigateurs Voir aussi

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4