Оператор ? Проверка числа на четность
Оператор ? имеет следующий формат:
<Переменная> = (<Лог. выражение>) ? <если Истина> : <если Ложь>;
Перепишем нашу программу (листинг 3.18) и используем оператор ? вместо
if…else (листинг 3.19).
Листинг 3.19. Проверка числа на четность с помощью оператора ?
<!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 {
var msg = ((parseInt(x))%2==0) ? "Четное число" : "Нечетное число";
document.write(msg);
}
//->
</script>
</body>
</html>
3.12.4. Оператор выбора switch
Оператор выбора switch имеет следующий формат:
switch (<Переменная или выражение>) {
case <Значение 1>:
<Выражение 1>;
break;
case <Значение 2>:
<Выражение 2>;
break;
…
default:
<Выражение>;
}
Перепишем нашу программу и используем оператор switch вместо if…else
и ? (листинг 3.20).
Листинг 3.20. Проверка числа на четность с помощью оператора switch
<!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 {
switch ((parseInt(x))%2) {
case 0:
document.write("Четное число");
break;
case 1:
document.write("Нечетное число");
break;
default:
document.write("Введенное значение не является числом");
}
}
//->
</script>
</body>
</html>
Итак, оператор switch позволил сделать еще одну дополнительную проверку. Ведь пользователь вместо числа мог ввести строку. А в этом случае функция parseInt() вернет значение NaN (Not a Number). Любая арифметическая опе- рация со значением NaN вернет в качестве значения NaN. В предыдущих при- мерах мы не выполняли эту проверку, и в случае ввода строки, которую не- возможно преобразовать в число, функция возвращала фразу "Нечетное число". Что, согласитесь, не верно.
Вернемся к оператору switch. Вместо логического выражения оператор switch принимает переменную или выражение. В зависимости от значения переменной (или выражения) выполняется один из блоков case, в котором указано это значение. Если ни одно из значений не описано в блоках case, то выполняется блок default. Оператор break позволяет досрочно выйти из оператора выбора switch. Зачем это нужно? Если не указать оператор break в конце блока case, то будет выполняться следующий блок case вне зависи- мости от указанного значения. Если убрать все операторы break из нашего
примера, то в результате (при вводе четного числа) в окне Web-браузера ото-
бразится следующая надпись:
Четное числоНечетное числоВведенное значение не является числом
Иными словами, оператор break следует обязательно указывать в конце каж-
дого блока case.
Источник: Прохоренок Н. А. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2010. — 912 с.: ил. + Видеокурс (на CD-ROM) — (Профессиональное программирование)
Похожие посты:
- Изменение высоты строки (межстрочного интервала) в тексте (0)
- Изменение стиля маркеров списка или удаление маркеров (0)
- Справочник по обобщенным представлениям Django (0)
- Встроенные шаблонные теги и фильтры Django (0)
- Справочник по встроенным фильтрам add Django (0)
- Аргументы представления, принимаемые по умолчанию Django (0)
- Развертывание Django (0)