цикл

Циклы 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, цикл закончится.




Добавить комментарий

Ваш e-mail не будет опубликован.