В данной статье мы с вами подробно рассмотрим while и do … while js циклы, а также операторы break и continue. Инструкция while по логике своей работы похожа на условный оператор if, тут также происходит сначала проверка условия, и если оно истинно (равно true), то идёт выполнение выражения.
Только цикл while в js сценариях предназначен для циклического выполнения заданного выражения. Цикл do … while аналогичен предыдущему с той лишь разницей, что тут проверка условия выполняется в конце.
Хорошо, давайте рассмотрим всё подробно:
While – общий синтаксис данной конструкции:
While (условие) {
Тело цикла
[break]
[continue]
Тело цикла
}
Видим, что после ключевого слова While идёт проверка условия, если условие выполняется – истинно, то цикл js while работает, иначе – происходит завершение его работы. Так же стоит обратить внимание, что начало и конец цикла заключается в фигурные скобки. Видим, что в теле можно использовать инструкции break и continue.
- Break – данная конструкция может применяться во всех циклах и в конструкции switch, она приводит к немедленному выходу из цикла.
- Continue – использование аналогично инструкции break с той лишь разницей, что происходит переход к новой итерации цикла.
Как видим, цикл while js сценариев производит проверку условия в самом начале и не содержит счетчика, как, например, в операторе for. Это говорит о том, что, если надо указать в условии количество итераций (например: while (i>10)), то, возможно, в самом теле придётся указать шаг (например, i++), иначе, может произойти зацикливание.
Давайте рассмотрим следующий пример:
// *********************************************************** // while (js сценарий) // while.js // *********************************************************** var s =0, i=0; //Сумма чисел от 1 до 9 while (i < 10) { i++; s+=i; } //55 WScript.echo ("Сума чисел от 1 до 9 ровна " + s); s =0, i=0; while (i < 10) { i++; // Пропускаем число 5 if (i==5) { continue; } s+=i; } //50 WScript.echo ("Сума чисел от 1 до 9, кроме числа 5, ровна " + s); s =0, i=0; while (i < 10) { i++; // Пропускаем все после числа 5 if (i==5) { break; } s+=i; } //10 WScript.echo ("Сума чисел от 1 до 4 ровна " + s); |
Видим, что в данном примере, мы написали три цикла while, каждый должен выполнятся 9 раз (i<10), переменная s содержит сумму всех значений i. В первом случае i ровна 55, во втором – 50, так как мы прописали условие if (i==5) {continue;}, что значит, при суммировании пропустить число 3, в третьем варианте мы получили значение 10, поскольку прописали условиеif (i==5) { break;}, что говорит:выйти из цикла, как только переменная i примет значение 5.
Do … while – данная конструкция содержит следующий синтаксис:
do{
Тело цикла
[break]
[continue]
Тело цикла
} while (условие)
Как видим, do … while в js сценарии производит проверку в самом конце после ключевого слова while. Вначале идет ключевое слово do, после него идут фигурные скобки, между ними идут другие выражения и конструкции, а также могут использоваться операторы break и continue.
Давайте напишем пример, аналогичный предыдущему, но с использованием конструкции do … while:
// *********************************************************** // do ... while // while1.js // *********************************************************** var s =0, i=0; //Сумма чисел от 1 до 9 do{ i++; s+=i; }while (i < 10) //55 WScript.echo ("Сума чисел от 1 до 9 ровна " + s); s =0, i=0; do{ i++; // Пропускаем число 5 if (i==5) {continue;} s+=i; }while (i < 10) //50 WScript.echo ("Сума чисел от 1 до 9, кроме числа 5, ровна " + s); s =0, i=0; do{ i++; // Пропускаем все после числа 5 if (i==5) { break;} s+=i; }while (i < 10) //10 WScript.echo ("Сума чисел от 1 до 4 ровна " + s); |
Как и в предыдущем примере, тут мы производим суммирование значений переменной i, но проверка условия выполняется не в начале, а в конце. Стоит упомянуть, что, если проверка условия выполняется в конце цикла, то в самом теле выполнится как минимум один оператор.