Единственной разницей между этими циклами является проверка условия до
первой итерации (`while`) или после первой итерации (`do..while`).
Если в любом из этих циклов условная конструкция возвратит `false`, то
следующая итерация не будет выполнена. Это означает, что, если условие
изначально будет `false`, цикл `while` никогда не будет выполнен, а цикл
`do..while` выполнится только один раз.
Иногда вы используете цикл для подсчета определенного набора чисел,
например, от `0` до `9` (десять чисел). Это можно сделать присвоением
переменной итерации, например, `i` значения `0`, а затем увеличением ее на `1`
в каждой итерации.
**Предупреждение:** По множеству исторических причин языки
программирования почти всегда ведут подсчет, начиная с `0` вместо `1`. Если вы
не знакомы с таким типом подсчета, поначалу это может сбивать с толку.
Уделите некоторое время тому, чтобы попрактиковаться в подсчете,
начинающимся с `0`, чтобы освоиться в нем!
Условная конструкция проверяется на каждой итерации, как если бы был
неявный оператор `if` внутри цикла.
Для выхода из цикла можно использовать оператор `break`. К тому же, можно
обнаружить, что ужасно легко можно создать цикл, который без механизма
`break` будет работать вечно.
Проиллюстрируем:
_________________________________________________
var i = 0;
// цикл `while..true` будет выполняться вечно, не так ли?
while (true) {
// прервать цикл?
if ((i <= 9 === false) {
break;
}
console.log( i );
i = i + 1;
}
// 0 1 2 3 4 5 6 7 8 9
Do'stlaringiz bilan baham: