Чтение онлайн

на главную - закладки

Жанры

HTML, XHTML и CSS на 100%

Квинт Игорь

Шрифт:
Цикл for

Оператор for служит для создания цикла. Он имеет следующий синтаксис:

for (выражение инициализации; выражение условия; выражение цикла)

{

операторы

}

Выражение инициализации обычно служит для задания начального значения счетчика цикла. Выражение условия позволяет прекратить выполнять цикл, когда условие перестанет выполняться, то есть примет значение false. Выражение цикла обычно осуществляет инкремент

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

В листинге 11.14 представлен код, позволяющий найти факториал числа – n!=1*2*3*..*n.

Листинг 11.14. Факториал с помощью оператора for

<html>

<head>

<title>Факториал с помощью оператора for</title>

<script>

var f=1;

var x=prompt ("Введите число","5");

x=+x;

for(var i=1;i<=x;i++)

{

f=f*i;

}

alert(f);

</script>

</head>

<body>

</body>

</html>

В этом коде организуется цикл от 1 до x, при этом для простоты введенное значение не проверяется на допустимость, поэтому можно, например, получить значение Infinity (бесконечность) при большом значении x.

Цикл while

Оператор while сходен с оператором for, но он не производит инициализацию и инкремент счетчика в своем объявлении. Синтаксис этого оператора следующий:

while (выражение условия)

{

операторы

}

Если выражение условия в цикле while сразу ложно, то операторы не выполнятся ни разу.

В листинге 11.15 представлен код, позволяющий найти факториал с помощью цикла while.

Листинг 11.15. Факториал с помощью оператора while

<html>

<head>

<title>Факториал с помощью оператора while</title>

<script>

var f=1;

var x=prompt ("Введите число","5");

x=+x;

var i=1;

while(i<=x)

{

f=f*i;

i++;

}

alert(f);

</script>

</head>

<body>

</body>

</html>

Цикл do..while

Оператор do..while практически идентичен оператору while, но, поскольку в нем проверка условия осуществляется в конце, он гарантирует выполнение операторов по крайней мере один раз:

do

{

операторы

} while (выражение условия)

В листинге 11.16 представлен код, позволяющий найти факториал с помощью цикла do..while.

Листинг 11.16. Факториал с помощью
оператора do..while

<html>

<head>

<title>Факториал с помощью оператора do..while</title>

<script>

var f=1;

var x=prompt ("Введите число","5");

x=+x;

var i=1;

do

{

f=f*i;

i++;

} while(i<=x)

alert(f);

</script>

</head>

<body>

</body>

</html>

Цикл for..in

С помощью конструкции for..in можно выполнить операторы почти для каждого свойства объекта. Синтаксис этого оператора:

for (свойство in объект)

{

операторы

}

Например, с помощью данного оператора можно произвести инкремент всех элементов массива (листинг 11.17).

Листинг 11.17. Пример использования оператора for..in

<html>

<head>

<title>Пример использования оператора for..in </title>

<script>

var a= new Array (5,76,43,12,77,-5, 0);

for (var i in a)

{

a[i]++;

}

alert(a);

</script>

</head>

<body>

</body>

</html>

В ходе выполнения этого кода все элементы массива a увеличат свое значение на единицу (рис. 11.14).

Рис. 11.14. Инкремент элементов массива

Обратите внимание, что в цикле for..in не определяется свойство массива length.

Операторы break и continue

Иногда в ходе выполнения цикла возникает необходимость прервать весь цикл или одну его итерацию. Для этой цели служат операторы break и continue. Оператор break полностью прекращает выполнение цикла и передает управление операторам, следующим за циклом. Оператор continue прерывает текущее выполнение цикла и переходит к выполнению следующего шага цикла. Различие в работе этих операторов продемонстрировано в листинге 11.18.

Листинг 11.18. Пример использования операторов выхода из цикла

<html>

<head>

<title>Пример использования операторов выхода из цикла</title>

<script>

var a= new Array (5,0,2,0-3,0);

var b= new Array;

//Создаем бесконечный цикл

while(true)

{

var x=prompt ("Введите число","0");

//Преобразуем введенную строку в число

x=+x;

//Если введен ноль, то цикл прерывается

Поделиться:
Популярные книги

История США от глубокой древности до 1918 года

Азимов Айзек
Популярная наука от Азимова
Научно-образовательная:
история
5.00
рейтинг книги
История США от глубокой древности до 1918 года

Локки 2. Потомок бога

Решетов Евгений Валерьевич
2. Локки
Фантастика:
городское фэнтези
аниме
попаданцы
5.00
рейтинг книги
Локки 2. Потомок бога

Тайны Удольфского замка. Том 2

Рэдклиф Анна
Детективы:
триллеры
6.25
рейтинг книги
Тайны Удольфского замка. Том 2

Страсти по Фоме. Книга 2

Осипов Сергей
2. Страсти по Фоме
Фантастика:
фэнтези
5.00
рейтинг книги
Страсти по Фоме. Книга 2

Разбитое окно

Дивер Джеффри
8. Райм и Сакс
Детективы:
прочие детективы
7.75
рейтинг книги
Разбитое окно

Лэшер

Райс Энн
5. Мэйфейрские ведьмы
Фантастика:
ужасы и мистика
8.32
рейтинг книги
Лэшер

Дом в овраге

Варго Александр
MYST. Черная книга 18+
Детективы:
триллеры
9.14
рейтинг книги
Дом в овраге

Темная сторона души

Михалкова Елена Ивановна
2. Расследования Макара Илюшина и Сергея Бабкина
Детективы:
прочие детективы
9.33
рейтинг книги
Темная сторона души

Владимир Ост

Нагаев Сергей
Проза:
современная проза
роман
6.25
рейтинг книги
Владимир Ост

Ограбить Императора

Сухов Евгений Евгеньевич
Детективы:
исторические детективы
7.00
рейтинг книги
Ограбить Императора

Созвездие Стрельца

Нагишкин Дмитрий Дмитриевич
Проза:
советская классическая проза
5.00
рейтинг книги
Созвездие Стрельца

Крылья ворона

Каннингем Элейн
Забытые Королевства
Фантастика:
фэнтези
7.43
рейтинг книги
Крылья ворона

Сборник "Туманность Андромеды"

Ефремов Иван Антонович
13. Большая серия русской фантастики
Фантастика:
научная фантастика
7.00
рейтинг книги
Сборник Туманность Андромеды

Последний реанорец. Том I и Том II

Павлов Вел
1. Высшая Речь
Фантастика:
фэнтези
7.80
рейтинг книги
Последний реанорец. Том I и Том II