Операторы циклов. Многократное выполнение блока кода
Предположим, нужно вывести все числа от 1 до 100 по одному на строке.
Обычным способом пришлось бы писать 100 строк кода:
document.write("1<br>");
document.write("2<br>");
…
document.write("100<br>");
При помощи циклов то же действие можно выполнить одной строкой кода:
for (var i=1; i<101; i++) document.write(i + "<br>");
Иными словами, циклы позволяют выполнить одни и те же выражения мно-
гократно.
3.13.1. Цикл for
Цикл for используется для выполнения выражений определенное число раз.
Имеет следующий формат:
for (<Начальное значение>; <Условие>; <Приращение>) {
<Выражения>
}
Здесь используются следующие конструкции:
? <Начальное значение> присваивает переменной-счетчику начальное зна-
чение;
? <Условие> содержит логическое выражение. Пока логическое выражение возвращает значение true, выполняются выражения внутри цикла;
? <Приращение> задает изменение переменной-счетчика при каждой итерации.
Более формально последовательность работы цикла for такова:
1. Переменной-счетчику присваивается начальное значение.
2. Проверяется условие — если оно истинно, выполняются выражения внут-
ри цикла, а в противном случае осуществляется выход из цикла.
3. Переменная-счетчик изменяется на величину, указанную в <Приращении>.
4. Осуществляется переход к пункту 2.
Цикл выполняется до тех пор, пока <Условие> не вернет false. Если этого не случится, цикл будет бесконечным.
<Приращение> может не только увеличивать значение переменной-счетчика,
но и уменьшать. Выведем все числа от 100 до 1:
for (var i=100; i>0; i-) document.write(i + "<br>");
<Приращение> может изменять значение переменной-счетчика не только на единицу. Выведем все четные числа от 1 до 100:
for (var i=2; i<101; i+=2) document.write(i + "<br>");
Следует заметить, что выражение, указанное в параметре <Условие>, вычис-
ляется на каждой итерации. Рассмотрим вывод элементов массива:
var Mass = [1, 2, 3];
for (var i=0; i<Mass.length; i++) {
if (i==0) {
Mass.push(4); // Добавляем новые элементы
Mass.push(5); // для доказательства
}
document.write(Mass[i] + " ");
} // Выведет: 1 2 3 4 5
В этом примере мы указываем свойство length в параметре <Условие>, а внутри цикла (чтобы доказать вычисление на каждой итерации) добавляем новые элементы в массив. В итоге получили все элементы массива, включая новые элементы. Чтобы этого избежать следует вычисление размера массива указать в первом параметре:
var Mass = [1, 2, 3];
for (var i=0, c=Mass.length; i<c; i++) {
if (i==0) {
Mass.push(4); // Добавляем новые элементы
Mass.push(5); // для доказательства
}
document.write(Mass[i] + " ");
} // Выведет: 1 2 3
Источник: Прохоренок Н. А. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2010. — 912 с.: ил. + Видеокурс (на CD-ROM) — (Профессиональное программирование)
Похожие посты:
- Создание текстов для пользователей (0)
- Изменение высоты строки (межстрочного интервала) в тексте (0)
- Изменение стиля маркеров списка или удаление маркеров (0)
- Чередование фонового цвета столбцов таблицы (0)
- Группировка связанных полей формы (0)
- Отображение строкового элемента как блочного, и наоборот (0)
- Как расположить логотип сайта слева, а слоган – справа (0)