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

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

Жанры

HTML, XHTML и CSS на 100%

Квинт Игорь

Шрифт:

Сначала вычисляется логическое выражение, затем, если оно равно true, выполняются операторы, если же оно равно false, то операторы пропускаются и продолжается выполнение сценария.

Рассмотрим пример. Допустим, функция f(x) определяется следующим образом:

Для нахождения значения этой функции на определенной точке можно воспользоваться кодом, приведенным в листинге 11.11.

Листинг 11.11.
Пример работы оператора if

<html>

<head>

<title>Пример работы оператора if</title>

<script>

var x, y;

//Запрашиваем значение x

x=prompt ("Введите значение x","0");

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

x=+x;

//Определяем значение функции

if (x<0){

y=x+10;

}

if ((x>=0)&&(x<=5)){

y=x*x+4;

}

if (x>5){

y=5/x;

}

alert("Функция f("+x+")="+y);

</script>

</head>

<body>

</body>

</html>

С помощью этого кода можно легко найти значение данной функции в любой точке (рис. 11.12).

Рис. 11.12. Определение значения функции с помощью оператора if

Оператор if..else

Часто удобно использовать полную форму условного оператора if..else. С его помощью можно задать действия, которые необходимо выполнить, если логическое выражение равно false:

if (логическое выражение)

{

операторы1

}

else

{

операторы2

}

Более того, можно совместить else с другим оператором if. В этом случае можно рассмотреть несколько альтернативных вариантов и выполнить соответствующие операторы:

if (логическое выражение1)

{

операторы1

}

else if (логическое выражение2)

{

операторы2

}

else

{

операторы3

}

Теперь перепишем предыдущий сценарий для определения функции с помощью оператора if..else (листинг 11.12).

Листинг 11.12. Пример работы оператора if..else

<html>

<head>

<title>Пример работы оператора if..else</title>

<script>

var x, y;

//Запрашиваем значение x

x=prompt ("Введите значение x","0");

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

x=+x;

//Определяем значение функции

if (x<0) y=x+10; //при x<0

else if (x>5) y=5/x; //при x>5

else y=x*x+4; //при 0<=x<=5

alert("Функция f("+x+")="+y);

</script>

</head>

<body>

</body>

</html>

Как

видно из данного кода, фигурные скобки необязательны, если выполняется только один оператор. Однако рекомендуется всегда использовать их для облегчения чтения кода. Обратите внимание, что в целях оптимизации второй проверкой проверяется условие x>5.

Оператор switch

Оператор switch позволяет сравнить значение с множеством других. Этого же эффекта можно достичь с помощью нескольких операторов if, но оператор switch позволяет создавать наглядный и краткий код. Этот оператор дает возможность предусмотреть операторы по умолчанию, которые выполняются, если не найдено ни одно соответствие:

switch (выражение)

{

case значение1:

операторы

case значение2:

операторы

..

default:

операторы

}

Допустим, необходимо, чтобы сценарий переводил названия животных с английского языка на русский (листинг 11.13).

Листинг 11.13. Пример работы оператора switch

<html>

<head>

<title>Пример работы оператора switch</title>

<script>

var trans;

//Запрашиваем название животного

var beast=prompt ("Введите название животного","dog");

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

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.

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

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

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

История США от глубокой древности до 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