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, l'instruction définie dans la boucle est donc exécutée au moins une fois.
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
condition
donnetrue
(la condition est vérifiée),instruction
sera exécutée à nouveau. Lorsquecondition
donnefalse
, 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 | Statut | 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 2016 Draft (7th Edition, ECMA-262) La définition de 'instruction do-while' dans cette spécification. |
Projet |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | (Oui) | (Oui) | 6 | (Oui) | (Oui) |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) |