Урок 10 по JScript: Цикл while и do…while

Урок 10 по JScript: Цикл while и do…while Программирование на JSCRIPT

В данной статье мы с вами подробно рассмотрим 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, но проверка условия выполняется не в начале, а в конце. Стоит упомянуть, что, если проверка условия выполняется в конце цикла, то в самом теле выполнится как минимум один оператор.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий