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

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

Жанры

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.

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

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

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

Цикл "Отмороженный". Компиляция. Книги 1-14

Гарцевич Евгений Александрович
Отмороженный
Фантастика:
боевая фантастика
рпг
постапокалипсис
5.00
рейтинг книги
Цикл Отмороженный. Компиляция. Книги 1-14

Наследие Маозари 7

Панежин Евгений
7. Наследие Маозари
Фантастика:
боевая фантастика
юмористическое фэнтези
постапокалипсис
рпг
фэнтези
эпическая фантастика
5.00
рейтинг книги
Наследие Маозари 7

Идеальный мир для Лекаря 12

Сапфир Олег
12. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 12

Император Пограничья 8

Астахов Евгений Евгеньевич
8. Император Пограничья
Фантастика:
городское фэнтези
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Император Пограничья 8

Кодекс Охотника. Книга XXVI

Винокуров Юрий
26. Кодекс Охотника
Фантастика:
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXVI

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

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 10

Кодекс Охотника. Книга ХХХ

Винокуров Юрий
30. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга ХХХ

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

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

Купеческая дочь замуж не желает

Шах Ольга
Фантастика:
фэнтези
6.89
рейтинг книги
Купеческая дочь замуж не желает

Гром над Академией. Часть 1

Машуков Тимур
2. Гром над миром
Фантастика:
фэнтези
боевая фантастика
5.25
рейтинг книги
Гром над Академией. Часть 1

Чужак

Листратов Валерий
1. Ушедший Род
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Чужак

Санек 3

Седой Василий
3. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Санек 3

Кадет Морозов

Шелег Дмитрий Витальевич
4. Живой лёд
Фантастика:
боевая фантастика
5.72
рейтинг книги
Кадет Морозов

Имя нам Легион. Том 9

Дорничев Дмитрий
9. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 9