Существует несколько способов написания циклов, но одним из наиболее популярных является метод for.

Основная структура цикла for выглядит следующим образом:

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

Ниже приведен пример цикла for в действии.

for( var i = 0; i <= 2; i++ ) 
{alert( i ); 
// Этот цикл вызовет три уведомления, с сообщением "0", "1" и "2" соответственно.}

Материала довольно много, поэтому давайте разберем этот пример по частям.

  • Во-первых, вызываем инструкцию for (), встроенную в JavaScript. Она сообщает: «Каждый раз, когда это верно, сделайте так». Теперь добавим к инструкции немного данных.
  • var i = 0; — создается новая переменная i, со значением равным нулю. Нетрудно определить, что это переменная, по одному знаку равенства. Чаще всего встречается использование программистами буквы «i» (сокращения от «индекс») в качестве имени переменной, но в действительности можно использовать вместо него любое. Это распространенное условное обозначение, но не правило.
  • Зададим начальное значение «0» потому, если нужно начинать отсчет с нуля. В конце концов, так считает JavaScript.
  • 1 <= 2; — выражением i <= 2 подразумевает, что «до тех пор, пока i меньше или равно 2, нужно продолжать цикл». Поскольку отсчет начался с нуля, это означает, что цикл будет выполняться трижды.
  • i++ — наконец, i++ — это сокращение, означающее «каждый раз, когда запускается этот цикл, добавьте одно из значений i (++ — это одно из сочетаний математических операторов).

Без этого шага, i всегда равно нулю, и цикл будет длиться вечно! К счастью, современные браузеры достаточно умны, чтобы не позволить этому случиться. Если одна из этих трех частей отсутствует, цикл совсем не будет выполняться.

А здесь расположен {код сценария}

Все, что находится внутри этих фигурных скобок, выполняется один раз для каждого повтора цикла, которых в данном случае три. Эта переменная i также доступна для использования в коде, который выполняется циклом. Давайте вернемся к примеру «проверить каждый элемент массива». Как написать цикл, который сделает это за нас?

var items = ["foo", "bar", "baz"]; // Сначала создадим массив.
for( var i = 0; i <= items.length; i++ ) 
{alert( items[i] ); // Создаст уведомление для каждого элемента в массиве.}

Этот пример отличается от нашего первого цикла двумя ключевыми моментами:

  • items.length

Вместо использования числа для ограничения количества запусков цикла здесь используется свойство, встроенное в JavaScript, для определения «длины» нашего массива, то есть количества содержащихся в нем элементов. И length — всего лишь одно из стандартных свойств и методов объекта Array в JavaScript.

  • items[i]

Переменную i использовали, чтобы сослаться на каждый индекс в массиве. Если бы начали отсчет с нуля, и было бы установлено начальное значение i равное 1, первый элемент в массиве оказался бы пропущен.

Теперь, независимо от того, насколько большим или маленьким должен стать массив, цикл станет выполняться ровно столько раз, сколько элементов в массиве, и всегда будет содержать удобную ссылку на каждый из них.

Существуют буквально десятки способов написания цикла, но это — один из наиболее распространенных методов, который встречается в сценариях во всемирной паутине. Разработчики используют циклы для выполнения ряда задач, таких как:

  • Запуск цикла по списку элементов на странице и проверка значения каждого из них путем применения стиля или добавления/удаления/изменения атрибутов. Например, можно запустить цикл по всем элементам веб-формы и убедиться, что пользователи ввели допустимое значение для каждого, прежде чем они смогут перейти дальше.
  • Создание в исходном массиве нового массива элементов, которые имеют определенные значения. Для этого проверяется значение каждого элемента исходного массива в пределах цикла и, если значение соответствует искомому, заполняется новый массив только этими элементами, что превращает цикл в своего рода фильтр.