Цикл while
Цикл while( условие ) выполняется только в том случае, если условие является истиной (как будто при проверке if( условие )). Очевидно, что при таком способе работы цикла его условие должно изменяться с каждой итерацией, иначе это будет бесконечный цикл. Продемонстрируем использование цикла на практике:var i = 1;
while( i <= 3 ){
console.log(i);
i++;
}
При выполнении такого кода в консоли можно увидеть такие строки:
1 2 3Как только i станет равной 4, то произойдёт выход из цикла из-за того, что значение в скобках while( 4 <= 3 ) является ложью.
Обратите внимание, что в циклах принято обозначать переменные, которые изменяются с каждой итерацией, буквами: i, j, k.
Если бы в примере не было строчки i++;, то цикл выполнялся бы бесконечно, потому что i никогда бы не стала больше 3.
Цикл for
Теперь разберём более сложный, но популярный цикл for( начальные параметры; условие завершения цикла; действие на каждой итерации ). Он имеет не одно, а сразу три условия. Попробуем переписать предыдущий пример, но используем цикл for:for( var i = 1; i <= 3; i++ ){
console.log(i);
}
В начальных параметрах цикла необходимо задать переменную (написать "var ..."), если переменная цикла ещё не задана.
Такой цикл занимает меньше строк, чем цикл с while, потому что включает в скобки for( ) задание начального значения переменной и действия, которое необходимо с ней сделать при новой итерации цикла. Результат выполнения такого цикла будет аналогичен результату из предыдущего примера. При выполнении такого кода на экране мы увидим:
1 2 3В скобках цикла for( ) может стоять несколько переменных, несколько параметров и несколько действий, которые надо сделать с несколькими переменными. Такая теоретическая возможность есть, но на практике она никогда не встречается. Потому что чем легче - тем лучше. Но для образовательных целей приведём пример:
for( var i = 1, j = 2; i <= 3, j <= 4; i++, j++ ){
console.log(i + ' - ' + j);
}
Если хотя бы одно из условий i <= 3, j <= 4 не будет выполняться, то цикл закончится.