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

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

Жанры

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.

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

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

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

Миллионщик

Шимохин Дмитрий
3. Подкидыш
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Миллионщик

Запечатанный во тьме. Том 2

NikL
2. Хроники Арнея
Фантастика:
уся
эпическая фантастика
фэнтези
5.00
рейтинг книги
Запечатанный во тьме. Том 2

Печать Пожирателя

Соломенный Илья
1. Пожиратель
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Печать Пожирателя

Мастер 7

Чащин Валерий
7. Мастер
Фантастика:
фэнтези
боевая фантастика
попаданцы
технофэнтези
аниме
5.00
рейтинг книги
Мастер 7

Вперед в прошлое 12

Ратманов Денис
12. Вперед в прошлое
Фантастика:
попаданцы
5.00
рейтинг книги
Вперед в прошлое 12

На границе империй. Том 9. Часть 2

INDIGO
15. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 2

Телохранитель Цесаревны

Зот Бакалавр
5. Герой Империи
Фантастика:
фэнтези
боевая фантастика
5.25
рейтинг книги
Телохранитель Цесаревны

Гримуар темного лорда IV

Грехов Тимофей
4. Гримуар темного лорда
Фантастика:
фэнтези
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Гримуар темного лорда IV

Анти-Ксенонская Инициатива

Вайс Александр
7. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Анти-Ксенонская Инициатива

Первый среди равных

Бор Жорж
1. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных

Газлайтер. Том 26

Володин Григорий Григорьевич
26. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 26

Кай из рода красных драконов 2

Бэд Кристиан
2. Красная кость
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Кай из рода красных драконов 2

Советник 2

Шмаков Алексей Семенович
7. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Советник 2

Спасите меня, Кацураги-сан! Том 12

Аржанов Алексей
12. Токийский лекарь
Фантастика:
попаданцы
дорама
фэнтези
5.00
рейтинг книги
Спасите меня, Кацураги-сан! Том 12