На этом шаге мы рассмотрим особенности использования логических операций.
Логические операции, сводка которых приведена в таблице 1, оперируют только с логическими операндами и используются, чаще всего, при создании сложных логических выражений, применяемых в условных и циклических конструкциях.
Операция | Результат |
---|---|
|| | Логическое ИЛИ |
&& | Логическое И |
! | Логическое НЕ |
Рассмотрим примеры использования логических операций.
<HTML> <HEAD> <TITLE>Логические операции</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- var1 = "Кит"; var2 = "Кот"; var3 = false; a = var1 && var2; //результат 'Кот' b = var2 && var3; //результат false c = var1 || var2; //результат 'Кит' d = !var1; //результат 'false' e = !var3; //результат 'true' alert ("a = "+a+"\nb = "+b+"\nc = "+c+"\nd = "+d+"\ne = "+e); //--> </SCRIPT> </HEAD> <BODY> </BODY> </HTML>
Результат работы скрипта приведен на рисунке 1.
Рис.1. Использование логических операций
Опишем результаты работы этого скрипта. Однако сразу отметим, что логические операции могут использоваться не только для создания сложных условий (с ними мы познакомимся при изучении ветвлений и циклов), но и при конструировании выражений как, например, арифметические операторы.
Начнем с последнего оператора присваивания. Вам известно, что отрицание "лжи" есть "истина" и наоборот. Предпоследнее присваивание говорит нам о том, что в JavaScript "ложью" являются значения null (пусто), 0, пустая строка ("") или undefined (неопределенное значение). Значение переменной var1 отлично от вышеперечисленных, поэтому оно рассматривается как "истина", а отрицание "истины" есть "ложь".
Обратимся теперь к первым трем оператором присваивания. Наиболее простым из них является конструкция b = var2 && var3;: так как один из операндов есть "ложь" и используется операция логическое И, то результат, естественно, будет "ложь".
Первый оператор присваивания JavaScript выполняет, пользуясь следующим правилом: операция "Логическое И" возвращает значение первого операнда, если его можно конвертировать в "ложь"; иначе, возвращает значение второго операнда.
Применим это правило к первому оператору присваивания, но сначала вспомним, что "ложью" в JavaScript являются значения "пусто", 0, пустая строка и неопределенное значение. Первый операнд в данном присваивании нельзя конвертировать в "ложь", поэтому переменная a получает в качестве своего значения значение второго операнда.
Для выполнения третьего оператора присваивания воспользуйтесь следующим правилом: операция "Логическое ИЛИ" возвращает значение первого операнда, если его можно конвертировать в "истину"; иначе, возвращает значение второго операнда.
На следующем шаге мы рассмотрим функции в JavaScript.