Операторы Continue

Интересно, что делает оператор 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 должен был получить хотя бы это право))

5
задан Zirak 23 May 2011 в 17:38
поделиться