L'instruction continue
arrête l'exécution des instructions pour l'itération de la boucle courante ou de la boucle étiquetée. L'exécution est reprise à l'itération suivante.
Syntaxe
continue [ label ];
label
- Paramètre optionnel. Un identifiant associé à l'étiquette (label) de l'instruction pour laquelle on souhaite finir l'itération en cours.
Description
Contrairement à break
, continue
ne termine pas la boucle complètement :
- au sein d'une boucle
while
, elle repart à la condition d'arrêt
- au sein d'une boucle
for
, elle repart à l'expression de mise à jour de la boucle.
L'instruction continue
peut éventuellement contenir une étiquette (label) qui permet de tirer parti des instructions de boucles étiquetées (plutôt que de ne traiter que la boucle courante). Dans le cas où l'étiquette est utilisée, il faut que l'instruction continue
soit imbriquée dans l'instruction étiquetée.
Exemples
Utiliser continue
avec while
L'instruction suivante illustre comment on peut utiliser continue au sein d'une boucle while
, ici continue
est utilisé lorsque i
vaut 3. On a donc n
qui prend les valeurs 1, 3, 7, et 12.
var i = 0; var n = 0; while (i < 5) { i++; if (i === 3) { continue; } n += i; }
Utiliser continue
avec une étiquette
Dans l'exemple suivant, on a une instruction étiquetée vérifIetJ
qui contient une autre instruction étiquetée vérifJ
. Si l'instruction continue
est utilisée, le programme reprend l'exécution au début de l'instruction vérifJ
. Chaque fois que continue
utilisé, vérifJ
réitère jusqu'à ce que sa condition renvoie false
. Lorsque c'est le cas, le reste de l'instruction vérifIetJ
est exécuté.
Si continue
utilisait l'étiquette vérifIetJ
, le programme continuerait au début de l'instruction vérifIetJ
.
Voir aussi label
.
var i = 0; var j = 8; vérifIetJ: while (i < 4) { console.log("i : " + i); i += 1; vérifJ: while (j > 4) { console.log("j : "+ j); j -= 1; if ((j % 2) == 0){ continue vérifJ; } console.log(j + " est impaire."); } console.log("i = " + i); console.log("j = " + j); }
En utilisant le fragment ci-avant, on aura le résultat suivant :
"i : 0" // début de vérifJ "j : 8" "7 est impair" "j : 7" "j : 6" "5 est impair." "j : 5" // fin de vérifJ "i = 1" "j = 4" "i : 1" "i = 2" "j = 4" "i : 2" "i = 3" "j = 4" "i : 3" "i = 4" "j = 4"
Spécifications
Spécification | Statut | Commentaires |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Définition initiale. Pas de version étiquetée. |
ECMAScript 3rd Edition (ECMA-262) | Standard | Ajout de la version étiquetée. |
ECMAScript 5.1 (ECMA-262) La définition de 'instruction continue' dans cette spécification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'instruction continue' dans cette spécification. |
Standard | |
ECMAScript 2016 Draft (7th Edition, ECMA-262) La définition de 'instruction continue' dans cette spécification. |
Projet |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) |