• Страница 1 из 1
  • 1
Форум » I. JavaScript » Циклы » Циклы while (Или пока условие истинно...)
Циклы while
1
Цикл - это многократное выполнение одной и той же задачи.


Цикл while многократно повторяет выполнение одного и того же кода, покуда условие истинно.
Структура цикла:

Код
while(условие) {
/* многократно повторяющийся код */
}


Как работает цикл while? Интерпретатор JavaScript доходит до закрывающей фигурной скобки и вновь возвращается в начало кода, и если условие опять даёт истину, вновь запускает код в скобках и так до того момента, пока условие не окажется ложным.
После этого программа перейдёт к коду, который следует за циклом.

Зачем нужен цикл? Например, нужно вывести на странице числа от 1 до 5. Стандартно, можно это сделать так:

Код
document.write('Число 1 <br>');
document.write('Число 2 <br>');
document.write('Число 3 <br>');
document.write('Число 4 <br>');
document.write('Число 5 <br>');


Но, так как у нас есть много повторящегося кода, мы можем сделать тоже самое, но с помощью цикла:

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


В первой строке мы сохраняем начальное значение в переменной num, равное 1. Это точка отсчёта цикла, дальше проверяется условие: 1 <= 5?
Так как это верно, выполняется код в фигурных скобках и на странице выводится текст: "Число 1".
В следующей строке происходит прибавление единицы к значению, сохранённому в переменной num, то есть 1 + 1 = 2. Результат сохраняется в эту же переменную, заменяя старое значение.
Теперь происходит проверка 2 <= 5? и так далее, пока условие не даст false, тогда цикл прекратит свою работу.

Если условие цикла никогда не даст значение false, цикл будет бесконечным.

Изменить / Удалить

2 Перебор циклом while элементов массива

С помощью цикла можно пройтись по всем элементам массива, выбирая каждый из них и совершая над ним определённые действия.
Например, есть массив с днями недели:

Код
var days = ['Понедельник',
    'Вторник',
    'Среда',
    'Четверг',
    'Пятница',
    'Суббота',
    'Воскресенье'
];


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

Так как отсчёт элементов в массиве идёт с нулевого индекса (то есть у первого элемента индекс 0), то нам нужно для начала установить переменную счётчик со значением 0:

Код
var i = 0;


а затем записываем наш цикл, не забывая при этом о том, что индекс последнего элемента массива на единицу меньше общего числа его элементов:

Код
while(i < days.length) {
  document.write(days[i] + ', ');
  i++;
}


в итоге на странице мы увидим следующее:

Цитата
Понедельник, Вторник, Среда, Четверг, Пятница, Суббота, Воскресенье,

Изменить / Удалить

Форум » I. JavaScript » Циклы » Циклы while (Или пока условие истинно...)
  • Страница 1 из 1
  • 1
Поиск: