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

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

Жанры

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.

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

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

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

Древесный маг Орловского княжества 4

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

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

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

Боярич Морозов

Шелег Дмитрий Витальевич
3. Наследник старого рода
Фантастика:
героическая фантастика
боевая фантастика
альтернативная история
7.12
рейтинг книги
Боярич Морозов

Долг

Кораблев Родион
7. Другая сторона
Фантастика:
боевая фантастика
5.56
рейтинг книги
Долг

Сталин

Рыбас Святослав Юрьевич
1190. Жизнь замечательных людей
Документальная литература:
биографии и мемуары
4.50
рейтинг книги
Сталин

Санек 3

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

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

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

Ученик

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

Моров. Том 7

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

Камень. Книга 4

Минин Станислав
4. Камень
Фантастика:
боевая фантастика
7.77
рейтинг книги
Камень. Книга 4

Беглец

Кораблев Родион
15. Другая сторона
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Беглец

ЖЛ 9

Шелег Дмитрий Витальевич
9. Живой лёд
Фантастика:
фэнтези
боевая фантастика
5.00
рейтинг книги
ЖЛ 9

Светлая тьма. Советник

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

Старый, но крепкий 3

Крынов Макс
3. Культивация без насилия
Фантастика:
рпг
уся
фэнтези
5.00
рейтинг книги
Старый, но крепкий 3