Логические операторы И (&&), ИЛИ (||)
На этом занятии Вы узнаете:
- Для чего и где используются логические операторы И, ИЛИ
- О правильном использовании комбинации этих операторов
C помощью условных операторов в ActionScript 3 можно тестировать на истинность не только одно значение или выражение, но и сразу несколько. Для этого используют логические операторы. К примеру, блок определенных инструкций будет исполнен, если совпадут два или более условий или хотя бы одно из заданных условий окажется истинным.
Логический оператор И ( && ) используется для тестирования на истинность двух и более условий. Например, Вы хотите проверить корректны ли значения введенных логина "myLogin" и пароля "12345", то Вы можете записать
if( login == "myLogin" && password == "12345" )
Обратите внимание на то, что оба условия должны быть истинными. Если одно из них будет ложным (false) — например, логин будет корректным, а пароль ошибочным — тогда все выражение тоже будет ложным.
Если же Вы допускаете, чтобы хотя бы одно из условий может быть истинным, тогда используйте логический оператор ИЛИ ||:
if( country == "Россия" || capital == "Москва" )
В этом случае, даже если одно из условий будет ложным, то все выражение в целом будет оценено как истинное, поскольку одно из условий все же истинно. Но если оба условия будут ложными, то и все выражение будет ложным.
Логический оператор ИЛИ записывается с помощью двух вертикальных черточек ||. На большинстве компьютерных клавиатур клавиша с этим символом находится сразу над клавишей ввода команд (Enter).
Проверка нескольких условий с помощью логических операторов И, ИЛИ
Создайте переменную
var myPic:String = "mypic.jpg";
Введите if()
if()
Внутри круглых скобок введите первое условие для проверки
myPic.indexOf("jpg") != -1
Введите логический оператор ИЛИ ||, а затем введите второе условие для проверки
myPic.indexOf("gif") != -1
(Как работает и для чего нужен метод indexOf() читайте в уроке о методах поиска букв или частей текста внутри строк)
После круглых скобок наберите две фигурных и уже внутри них запишите команду, которая выполнится, если проверка окажется истинной. Например:
trace("Формат фотографии JPG или GIF.");
У Вас должно получиться, примерно, следующее:
Нажмите Ctrl + Enter.
Итак, эта фраза появится в панели Output поскольку значение переменной myPic содержит символы jpg, следовательно проверяемое условие будет оценено как истинное.
Дополнительная информация
Вы можете тестировать более чем два условия, комбинируя логические операторы && и || . Например:
if( num1 == num2 || num2 > num3 && num3 < num4 )
Однако, Вам необходимо запомнить следующее: если вы используете такие операторы вместе, то сначала будут оцениваться операторы И &&, а затем только опереторы ИЛИ ||. Поэтому, записанное выражение будет читаться в следующем порядке:
"Если num2 больше чем num3 И num3 меньше чем num4, ИЛИ если num1 равна num2."
Часто, порядок в таких выражениях не имеет значения, но не забывайте об этом, когда он действительно важен. В противном случае будут ошибки, которые потом не легко обнаружить.
Если Вам необходимо, чтобы сначала оценивался логический оператор ИЛИ, то Вы можете поместить выражение с ним в скобки:
if(( num1 == num2 || num2 > num3 ) && num3 < num4 )