Référence de JavaScript 1.5 Core:Instructions:continue
Un article de MDC.
Sommaire |
[modifier] Résumé
Met fin à l'exécution des instructions dans l'itération courante de la boucle courante ou d'une boucle nommée, et reprend l'exécution de la boucle à partir de l'itération suivante.
| Instruction | |
| Implémentation : | JavaScript 1.0, NES 2.0 |
| Version ECMA : | ECMA-262 (pour la version sans label)
ECMA-262, Édition 3 (pour la version avec label) |
[modifier] Syntaxe
continue [label];
[modifier] Paramètres
-
label - Identifiant associé au label de l'instruction de boucle.
[modifier] Description
Contrairement à l'instruction break, continue ne met pas complètement fin à l'exécution de la boucle. Au lieu de cela,
- Dans une boucle
while, elle reprend à l'évaluation de la condition.
- Dans une boucle
for, elle reprend à l'expression de mise à jour.
L'instruction continue peut être accompagnée d'un label optionnel permettant au programme de passer à l'itération suivante d'une boucle nommée plutôt que la boucle courante. Dans ce cas, l'instruction continue doit être à l'intérieur de cette instruction nommée.
[modifier] Exemples
[modifier] Exemple : utilisation de continue avec while
L'exemple qui suit montre une boucle while avec une instruction continue qui est exécutée lorsque la valeur de i est 3. Par conséquent, n prend successivement les valeur 1, 3, 7 et 12.
i = 0;
n = 0;
while (i < 5) {
i++;
if (i == 3)
continue;
n += i;
}
[modifier] Exemple : utilisation de continue avec un label
Dans l'exemple qui suit, une instruction nommée verifietj contient une instruction appelée verifj. Si l'instruction continue est rencontrée, le programme reprend en haut de l'instruction verifj. À chaque fois, verifj recommence jusqu'à ce que sa condition soit fausse. À ce moment, le reste de l'instruction verifietj est exécuté.
Si continue était accompagnée d'un label verifietj, le programme se serait poursuivi au début de l'instruction verifietj.
verifietj:
while (i < 4) {
document.write(i + "<br>");
i += 1;
verifj:
while (j > 4) {
document.write(j + "<br>");
j -= 1;
if ((j % 2) == 0)
continue verifj;
document.write(j + " est impair.<br>");
}
document.write("i = " + i + "<br>");
document.write("j = " + j + "<br>");
}