L'instruction do...while crée une boucle qui exécute une instruction jusqu'à ce qu'une condition de test ne soit plus vérifiée. La condition est testée après que l'instruction soit exécutée, le bloc d'instructions défini dans la boucle est donc exécuté au moins une fois.
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
do instruction while (condition);
instruction- Une instruction exécutée au moins une fois et ré-exécutée chaque fois que la condition de test est évaluée à
true. On peut exécuter plusieurs instructions au sein d'une boucle grâce à l'instructionblock({ ... }) qui permet de grouper différentes instructions en une seule.
condition- Une expression évaluée après chaque passage dans la boucle. Si l'évaluation de la
conditiondonnetrue(la condition est vérifiée),instructionsera exécutée à nouveau. Lorsqueconditiondonnefalse, le contrôle passe à l'instruction suivant la boucledo...while.
Exemples
Utiliser do...while
Dans l'exemple suivant, la boucle do...while est parcourue au moins une fois et répétée jusqu'à ce que i ne soit plus strictement inférieur à 5.
var i = 0;
do {
i += 1;
console.log(i);
} while (i < 5);
Spécifications
| Spécification | État | Commentaires |
|---|---|---|
| ECMAScript 3rd Edition (ECMA-262) | Standard | Définition initiale. Implémentée avec JavaScript 1.2 |
| ECMAScript 5.1 (ECMA-262) La définition de 'instruction do-while' dans cette spécification. |
Standard | |
| ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'instruction do-while' dans cette spécification. |
Standard | Le point-virgule de fin est désormais optionnel. |
| ECMAScript (ECMA-262) La définition de 'instruction do-while' dans cette spécification. |
Standard évolutif |
Compatibilité des navigateurs
| Ordinateur | Mobile | Serveur | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
do...while | Chrome Support complet 1 | Edge Support complet 12 | Firefox Support complet 1 | IE Support complet 4 | Opera Support complet 4 | 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