Przewodnik po języku JavaScript 1.5:Instrukcje pętli:Instrukcja continue
z Mozilla Developer Center, polskiego centrum programistów Mozilli.
[edytuj] Instrukcja continue
Instrukcja continue możemy użyć do ponownego uruchomienia instrukcji while, do-while, for, lub label tzw. etykiety.
- Kiedy użyjemy instrukcji
continuebez label, to zostanie przerwana aktualnie wykonywana iteracja najgłębszej instrukcji otoczonej kodemwhile, do-whilelubfor, która będzie kontynuowała wykonanie następnej pętli z iteracją. Przeciwieństwem jest instrukcjabreak,continuenie zostanie przerwane wykonywanie w całości. W pętliwhile, to kod zostanie zawrócony wg warunków określonych w kodzie. W pętlifor, to wykona przyrost wyrażenia. - Kiedy użyjemy
continuezlabel, to nakłada się do instrukcji pętli identyfikującej się zlabel.
Składnia instrukcji continue wygląda następująco:
-
continue -
continue label
Przykład 1
Następujący przykład pokazuje pętlę while z instrukcja continue, która jest wykonana wtedy, gdy wartość i jest liczbą trzy. W ten sposób, n pobiera wartości jeden, trzy, siedem, dwanaście.
i = 0;
n = 0;
while (i < 5) {
i++;
if (i == 3)
continue;
n += i;
}
Przykład 2
Etykieta instrukcji checkiandj stanowi etykietę instrukcji checkj. Jeśli continue zostanie napotkane, program przerwie aktualnie wykonywaną iterację checkj i rozpocznie następną iterację. Za każdym razem, gdy continue zostanie napotkane, checkj wykonuje ponownie iterację aż do momentu, gdy warunek stanie się nieprawdziwy. Kiedy został napotkany nieprawdziwy warunek, to powtarza, reszta instrukcji checkiandj jest dopełniona, i checkiandj ponownie iteruje aż jego warunek zwróci wartość nieprawdziwą. Kiedy false jest zwracany, to program kontynuuje następującą instrukcję checkiandj.
Jeśli continue miało pętlę checkiandj, to program będzie kontynuował instrukcję checkiandj, aż osiągnie jej najwyższą wartość.
checkiandj :
while (i < 4) {
document.write(i + "<br/>");
i += 1;
checkj :
while (j > 4) {
document.write(j + "<br/>");
j -= 1;
if ((j % 2) == 0)
continue checkj;
document.write(j + " is odd.<br/>");
}
document.write("i = " + i + "<br/>");
document.write("j = " + j + "<br/>");
}