Циклы for, while, do while


Если у вас есть оператор или набор операторов, которые нужно выполнять многократно, повторно друг за другом, вместо их дублирования в коде, используют цикл. Циклы бывают нескольких видов. Их отличие: как определяется, сколько раз будет выполняться этот набор операторов. Набор операторов называют ‘тело цикла’. Есть заголовок цикла — он определяет момент окончания выполнения оператора цикла.

В JavaScript различают 4 вида операторов:

  • Цикл перечисления for — выполнение некоторых действий заранее заданное число раз.
  • Цикл ‘для каждого’ for in — позволяет перебрать все свойства в объекте.
  • Цикл с предусловием while — выполнять тело цикла, пока истинно какое-то условие.
  • Цикл с постусловием do … while — выполнять тело цикла, пока истинно какое-то условие.

Цикл перечисления for

Простой пример:

for (var i=0; i<10; i++){
   if (i==4) continue;
   if (i==8) break;}

Однократное выполнение тела цикла называется итерация.

Цикл for in

Данный цикл перебирает все свойства в объекте. Он предназначен для прохода по массивам, коллекциям и объектам.

Простой пример:

for (var prop in navigator){
   document.write(prop+"
");}

Цикл с предусловием while

Здесь условие проверяется перед выполнением тела цикла (поэтому предусловие). А если условие ложно (false), то цикл не выполняется ни разу.

Простой пример:

var a=1;
while (a<1000){
   a*=2;
   if (a==32) continue;
   document,write (a+"
");
   if (a==256) break;}

В круглых скобках идет условие, в фигурных — тело цикла. Этот цикл вычисляет логическое выражение. Если оно истинно, выполняется 1 раз тело цикла. После чего опять вычисляется логическое выражение. Если оно все еще истинно — сно выполняется тело цикла. И так будет, пока логическое выражение не станет false.

Цикл с постусловием do … while

Тело цикла выполняется многократно, пока истинно некое условие. Условие проверяется после выполнения тела цикла (после 1 итерации). Если условие false, цикл все равно выполнится 1 раз.

Простой пример:

var a=1;
do{
   a*=2;
   if(a=32) continue;
   document.write(a+"
");
   if(a==256) break;}
while (a<1000);

Выполняется тело цикла 1 раз. Потом проверяется условие. Если оно true, проходит еще одна итерация. Когда условие станет false, цикл закончится.


Ваш комментарий

Ваш адрес email не будет опубликован.

Для отправки комментария, поставьте отметку, что разрешаете сбор и обработку ваших персональных данных . Политика конфиденциальности