HTML, XHTML и CSS на 100%
Шрифт:
Сначала вычисляется логическое выражение, затем, если оно равно true, выполняются операторы, если же оно равно false, то операторы пропускаются и продолжается выполнение сценария.
Рассмотрим пример. Допустим, функция f(x) определяется следующим образом:
Для нахождения значения этой функции на определенной точке можно воспользоваться кодом, приведенным в листинге 11.11.
<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. С его помощью можно задать действия, которые необходимо выполнить, если логическое выражение равно false:
if (логическое выражение)
{
операторы1
}
else
{
операторы2
}
Более того, можно совместить else с другим оператором if. В этом случае можно рассмотреть несколько альтернативных вариантов и выполнить соответствующие операторы:
if (логическое выражение1)
{
операторы1
}
else if (логическое выражение2)
{
операторы2
}
else
{
операторы3
}
Теперь перепишем предыдущий сценарий для определения функции с помощью оператора if..else (листинг 11.12).
<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>
Как
Оператор switch позволяет сравнить значение с множеством других. Этого же эффекта можно достичь с помощью нескольких операторов if, но оператор switch позволяет создавать наглядный и краткий код. Этот оператор дает возможность предусмотреть операторы по умолчанию, которые выполняются, если не найдено ни одно соответствие:
switch (выражение)
{
case значение1:
операторы
case значение2:
операторы
..
default:
операторы
}
Допустим, необходимо, чтобы сценарий переводил названия животных с английского языка на русский (листинг 11.13).
<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.
Операторы цикла
Для многократного выполнения кода используют операторы цикла. Кроме того, циклы предоставляют удобные средства для манипулирования массивами.