Циклы и итерирование объектов

04.01.2020

Если вам нужно выполнить однотипное дейсвтие много раз, то циклы помогут вам с этим. Циклы позволяют многократно выполнять один участок кода.

Цикл while

let var1 = true;
while ( var1 ) {
	var1 = false
}

Инструкция while создает цикл, который будет выполняться до тех пор пока проверяющее условие равно истине. Условие выполняется до выполнения блока инструкций.

Цикл do..while

let var1 = true;
do {
	var1 = false
} while ( var1 );

Инструкция do…while работает точно так же как и инструкция while. За одним исключением, блок инструкций будет выполнен минимум один раз.

Цикл for

Цикл со счетчиком. Цикл начинается с объявления переменной i и задания ей начального значения. Затем происходит проверка что i меньше 10, после этого происходит выполнение внутреннего блока инструкций. После этого происходит инкремент переменной i.

for (var i = 0; i < 10; i++) {
   console.log(i);
}

Все три операнда в цикле for являются необязательными. Если записать цикл for в следующем виде for (;;) {} то будет объявлен бесконечный цикл.

Цикл for…of

Данная инструкция пройдет по всем элементам коллекции. Цикл for…of можно использовать с любыми итерируемыми объектами. Для каждого объекта будет вызван блок инструкций.

let list = [1,2,3,4,5];
for (let item of list) {
	console.log(item);
}  

На каждом шаге цикла переменной item будет присвоено значение следующего элемента коллекции.

Ключевое слово break

Бывают ситуации когда нужно прервать выполнение цикла, в этот момент следует воспользоваться инструкцией break;

let list = [1,2,3,4,5];
for (let item of list) {
	console.log(item);
	if (item === 3) break;
}  

Пример выведет 1 2 3

Ключевое слово continue

Если вам нужно пропустить оставшиеся инструкции в блоке цикла и перейти к следующей итерации, то для этого существует ключевое слово continue.

for (let i = 0; i < 10; i++) {
  if (i % 2 == 0) continue;
	console.log(i);
}

Пример выведет все нечетные элементы

В следующей статье

Мы рассмотрим функции и их использование в языке JavaScript.

#jsbook#javascript

Еженедельная рассылка новостей

Функции в JavaScript

Инструкции управления потоком выполнения