Операторы циклов. Многократное выполнение блока кода

Опубликовал: Четверг, Апрель 19, 2012 в категории HTML | Пока нет комментариев

Предположим, нужно вывести все числа от 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) — (Профессиональное программирование)

Add to Social Bookmarks
  • del.ici.ous
  • Digg
  • Furl
  • Google
  • Simpy
  • Spurl
  • Y! MyWeb
  • BobrDobr
  • Mr. Wong
  • Yandex.Bookmarks
  • Text 2.0
  • News2
  • AddScoop
  • RuSpace
  • RUmarkz
  • Memori
  • Google Bookmarks
  • Pisali
  • SMI 2
  • Moe Mesto
  • 100 Zakladok
  • Vaau!
  • Technorati
  • RuCity
  • LinkStore
  • NewsLand
  • Lopas
  • Закладки - I.UA
  • Connotea
  • Bibsonomy
  • Trucking Bookmarks
  • Communizm
  • UCA

Похожие посты:

Комментировать

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>