Интересно, что делает оператор continue
в цикле do ... while (false)
, я смоделировал простой тестовый пример (псевдокод):
count = 0;
do {
output(count);
count++;
if (count < 10)
continue;
}while (false);
output('out of loop');
К моему удивлению результат был:
0
out of loop
Немного запутался, я изменил цикл с do ... while
на для
:
for (count = 0; count == 0; count++) {
output(count);
if (count < 10)
continue;
}
output('out of loop');
Функционально не то же самое, но цель практически та же: сделать условие удовлетворяющим только на первой итерации, а на следующих продолжаться (до тех пор, пока не будет достигнуто определенное значение, исключительно для остановки возможных бесконечных циклов). не запускается одинаковое количество раз, но функциональность здесь не является важным моментом.
Результат был таким же, как и раньше:
0
out of loop
Теперь представим простой цикл while
:
count = 0;
while (count == 0) {
output(count);
count++;
if (count < 10)
continue;
}
output('out of loop');
И снова тот же результат.
Это немного сбивает с толку, поскольку я всегда думал об операторе continue
как о «переходе к следующей итерации». Итак, я спрашиваю: что делает оператор continue
в каждом из этих циклов? Он просто переходит к условию?
((Что бы это ни стоило, я протестировал вышеуказанное в JavaScript, но я считаю, что это не зависит от языка ... js должен был получить хотя бы это право))