• Страница 1 из 1
  • 1
Модератор форума: webik  
Форум » JavaScript и jQuery » JavaScript » Циклы » Циклы For
Циклы For
webikДата: Вс, 24.03.2019, 11:38 | Сообщение # 1
Offline
Цикл for визуально более компактный, чем тот же while.

К примеру, так выглядит код цикла while:

Код
var num = 1;
while (num <= 100) {
    document.write('Число ' + num + '<br>');
    num++;
}


Теперь тоже самое, но с помощью for:

Код
for(var num = 1; num <= 100; num++) {
   document.write('Число ' + num + '<br>');
}


В круглых скобках цикла:

Первая часть: var num =1; объявляется переменная, один раз, в самом начале работы цикла
Вторая часть: num <= 100; это условие, позволяющее понять, нужно ли снова выполнять код в фигурных скобках
Третья часть: num++; действие, которое происходит в конце каждой итерации цикла до тех пор пока, условие не станет ложным.

Циклы for также хороши для работы с элементами массива. Возьмём отсюда массив

Код
var дниНедели = ['Пн','Вт','Ср','Чт','Пт','Сб','Вс'];


В той теме была задача вывести все элементы массива на страницу. Задача была выполнена с помощью цикла while таким образом:

Код
var счётчик = 0;
while(счётчик < дниНедели.length) {
document.write(дниНедели[счётчик] + ', ');
счётчик++;
}


А теперь напишем решение данной задачи с помощью цикла for:

Код
for(var i = 0; i < дниНедели.length; i++) {
  document.write(дниНедели[i] + ', ');
}


Строк кода меньше, и здесь мы использовали короткое название переменной (i), такое имя быстро набирается, а так как переменная не используется за пределами цикла, то и придумывать ей хоть сколь-нибудь осмысленное название нет нужды.

Можно выполнить обратную задачу: вывести на странице элементы данного массива в обратном порядке, начиная с последнего. Берём наш массив:

Код
var дниНедели = ['Пн','Вт','Ср','Чт','Пт','Сб','Вс'];


и пишем цикл for:

Код
for (i = дниНедели.length; i > 0; i--) {
    document.write(дниНедели[i-1] + '<br>');
}


Здесь за отправную точку(начальное значение переменной i) взята длина массива (дниНедели.length), поскольку, чтобы добраться до последнего элемента массива, который по условиям задания нужно вывести первым, нам нужно выяснить его индекс, а как известно, его индекс = длина массива-1.

Что происходит при работе цикла при первой итерации:

начальное значение в переменной i = 7; // так как длина массива = 7

проверяется условие 7 > 0; // (истина)

выводится на страницу document.write(дниНедели[7-1] + '
');
или, если подробнее
document.write(дниНедели[6] + '
');

Элемент массива дниНедели с индексом 6 это "Воскресенье", последний элемент массива, то что нам и нужно было сделать.

После этого от значения переменной i отнимается 1 ( i--) и всё повторяется, пока условие не станет ложным.
Схематично работу цикла представлю так:

Прикрепления: 5892747.png(23.9 Kb)
 
профиль цитата изменить удалить
Форум » JavaScript и jQuery » JavaScript » Циклы » Циклы For
  • Страница 1 из 1
  • 1
Поиск: