Оператор ? Проверка числа на четность

Опубликовал: Tuesday, March 13, 2024 в категории HTML | Пока нет комментариев

Оператор ? имеет следующий формат:

<Переменная> = (<Лог. выражение>) ? <если Истина> : <если Ложь>;

Перепишем нашу программу (листинг 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) — (Профессиональное программирование)

Похожие посты:

Комментировать

Your email address will not be published. Required fields are marked *