Опубликовано: 15.10.2018
В данной статье мы с вами подробно рассмотрим 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, но проверка условия выполняется не в начале, а в конце. Стоит упомянуть, что, если проверка условия выполняется в конце цикла, то в самом теле выполнится как минимум один оператор.
Copyleft © 2017 . www.astrym.com.ua Строительные технологии