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.
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
Syntaxe
while (condition) instruction
condition- Une expression qui est évaluée avant chaque passage dans la boucle. Si cette expression est évaluée à vrai,
instructionest exécutée. Lorsque la condition n'est pas vérifiée, l'exécution se poursuit avec l'instruction qui suit la bouclewhile. 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'instructionbreakafin d'arrêter une boucle avant que la condition soit vérifiée.
Exemples
La boucle while qui suit s'exécute tant que n est strictement inférieur à 3.
var n = 0;
var 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 :
- Après la première itération :
n= 1 etx= 1 - Après la deuxième itération :
n= 2 etx= 3 - Après la troisième itération :
n= 3 etx= 6
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.
Spécifications
Compatibilité des navigateurs
| Ordinateur | Mobile | Serveur | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
while | Chrome Support complet 1 | Edge Support complet 12 | Firefox Support complet 1 | IE Support complet 3 | Opera Support complet 3 | Safari Support complet 1 | WebView Android Support complet 1 | Chrome Android Support complet 18 | Firefox Android Support complet 4 | Opera Android Support complet 10.1 | Safari iOS Support complet 1 | Samsung Internet Android Support complet 1.0 | nodejs Support complet 0.1.100 |
Légende
- Support complet
- Support complet

