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

ЖАНРЫ

HTML, XHTML и CSS на 100%

Квинт Игорь

Шрифт:

//Находим соответствующее название на русском языке

switch (beast)

{

case "dog":

trans="собака";

break;

case "cat":

trans="кошка";

break;

case "cow":

trans="корова";

break;

default:

trans="неизвестное животное"

}

alert(beast+" – "+trans);

</script>

</head>

<body>

</body>

</html>

Этот код позволяет получить перевод названия одного из трех животных (рис. 11.13).

Рис. 11.13.

Пример работы оператора switch

Обратите внимание на оператор break, который позволяет закончить работу оператора switch, так как иначе будет выполняться оставшийся код в операторе switch.

Операторы цикла

Для многократного выполнения кода используют операторы цикла. Кроме того, циклы предоставляют удобные средства для манипулирования массивами.

Цикл 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.

Поделиться с друзьями: