Instrukcja continue
Instrukcja continue
możemy użyć do ponownego uruchomienia instrukcji while, do-while, for,
lub label
tzw. etykiety.
- Kiedy użyjemy instrukcji
continue
bez label, to zostanie przerwana aktualnie wykonywana iteracja najgłębszej instrukcji otoczonej kodemwhile, do-while
lubfor
, która będzie kontynuowała wykonanie następnej pętli z iteracją. Przeciwieństwem jest instrukcjabreak
,continue
nie 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
continue
zlabel
, 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/>"); }