Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
JavaScript_основы.doc
Скачиваний:
8
Добавлен:
04.11.2018
Размер:
322.05 Кб
Скачать

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

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

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

Перепишем нашу программу (листинг 3.18) и используем оператор ? вместо

if...else (ЛИСТИНГ 3.19).

Листинг 3.19. Проверка числа на четность с помощью оператора ?

<HTML>

<HEAD>

<TITLE>Проверка числа на четность</TITLE>

</HEAD>

<BODY>

<SCRIPT language="JavaScript">

<!--

var m_Var1;

m_Var1=window.prompt("Введите число", "");

if (m_Var1==null) {

document.write("Вы нажали Отмена");

}

else {

m_Var2=((parseInt(m_Var1))%2==0) ? "Четное число" : "Нечетное число";

document.write(m_Var2);

}

//-->

</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

<HTML>

<HEAD>

<TITLE>Проверка числа на четность</TITLE>

</HEAD>

<BODY>

<SCRIPT language="JavaScript">

<!--

var m_Var1;

m_Var1=window.prompt("Введите число", "");

if (m_Var1==null) {

document.write("Вы нажали Отмена");

}

else {

switch ((parseInt(m_Var1))%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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]