Оглавление

12.2. Оператор ветвления if...else. Проверка ввода пользователя

Оператор ветвления мы уже использовали ранее в наших примерах, например, чтобы проверить, какая из кнопок диалогового окна нажата. Так как при нажатии кнопки ОК возвращается значение true, то можно узнать, какая кнопка нажата, используя оператор ветвления if.„else (листинг 17).

 

Листинг 17. Проверяем, какая из кнопок диалогового окна нажата


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
         "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
 <title>Окно с сообщением</title>
 <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<script type="text/javascript">
<!--
if (window.confirm("Нажмите любую кнопку")) {
   window.alert("Нажата кнопка OK");
}
else {
   window.alert("Нажата кнопка Cancel");
}
//-->
</script>
</body>
</html>

 

Нажмите любую клавишу

 

Обратите  внимание,  что логическое  выражение не содержит операторов сравнения:

    if (window.confirm("Нажмите любую кнопку")) {


Такая запись эквивалентна записи:

    if (window.confirm("Нажмите любую кнопку") == true) {


Проверка на равенство выражения значению true (истина) выполняется но умолчанию.
Оператор ветвления if...else имеет следующий формат:
   if (<Логическое выражение>) {
      <Блок, выполняемый, если условие истинно>
   }

   [else {
      <Блок, выполняемый, если условие ложно
   }]


Для примера напишем программу (листинг 18), которая проверяет, является ли введенное пользователем число четным или нет. После проверки выводится соответствующее сообщение.

 

Листинг 18. Проверка числа на четность


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
         "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
 <title>Проверка числа на четность</title>
 <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<script type="text/javascript">
<!--
var x = window.prompt("Введите число", "");
if (x==null) {
   document.write("Вы нажали Отмена");
}
else {
   if ((parseInt(x))%2==0) {
      document.write("Четное число");
   }
   else {
      document.write("Нечетное число");
   }
}
//-->
</script>
</body>
</html>

 

Введите число

 

Как видно из примера, один условный оператор можно вложить в другой. Кроме того, если блок состоит из одного выражения, фигурные скобки можно не указывать:

if ((parseInt(x))%2==0) document.write("Четное число");
else document.write("Нечетное число");

Более того, блока else может не быть совсем:

if ((parseInt(x))%2==0) document.write("Четное число");
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити