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

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

Жанры

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;

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

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

Потерянный разум

Кара-Мурза Сергей Георгиевич
Научно-образовательная:
политика
5.00
рейтинг книги
Потерянный разум

Иисус неизвестный

Мережковский Дмитрий Сергеевич
Научно-образовательная:
философия
4.00
рейтинг книги
Иисус неизвестный

Собрание сочинений. Том 8

Дойл Артур Конан
Проза:
классическая проза
6.25
рейтинг книги
Собрание сочинений. Том 8

Золотая стрела

Абаринова-Кожухова Елизавета
3. Дверь в преисподнюю
Фантастика:
научная фантастика
5.00
рейтинг книги
Золотая стрела

1917. Разложение армии

Гончаров Владислав Львович
Военные тайны XX века
Научно-образовательная:
история
5.00
рейтинг книги
1917. Разложение армии

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

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

Северные сказки

Сборник
Детские:
сказки
5.00
рейтинг книги
Северные сказки

Сыщик-убийца

де Монтепен Ксавье
Детективы:
классические детективы
6.25
рейтинг книги
Сыщик-убийца

Я уже князь. Книга XIX

Дрейк Сириус
19. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.50
рейтинг книги
Я уже князь. Книга XIX

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

Павлов Вел
6. Высшая Речь
Фантастика:
аниме
попаданцы
фэнтези
5.00
рейтинг книги
Последний реанорец. Том VII

Последний Паладин. Том 14

Саваровский Роман
14. Путь Паладина
Фантастика:
аниме
фэнтези
попаданцы
5.75
рейтинг книги
Последний Паладин. Том 14

Русские горки. Конец Российского государства

Калюжный Дмитрий Витальевич
Великие противостояния
Научно-образовательная:
история
политика
6.00
рейтинг книги
Русские горки. Конец Российского государства

Футуриф. Токсичная честность

Розов Александр Александрович
Фантастика:
социально-философская фантастика
5.00
рейтинг книги
Футуриф. Токсичная честность

Император и шут

Дункан Дэйв
4. Человек слова
Фантастика:
героическая фантастика
7.57
рейтинг книги
Император и шут