Использование оператора else и комбинации операторов else if

На этом занятии мы разберем следующие вопросы:

  1. Использование оператора else
  2. Использование комбинации операторов else if
  3. Разберем практический пример с использованием этих операторов

Из предыдущего урока Вы знаете что, если проверяемое значение с помощью условного оператора if истинно (true), то выполняется инструкция или серия инструкций, заключенных в фигурные скобки. В противном случае выполняется код, расположенный ниже.

Но, как и многие другие языки программирования, ActionScript 3 предлагает и другие возможности. Например, Вы можете использовать конструкцию if ... else для того, чтобы исполнить набор других инструкций, если проверяемое значение с помощью if оказалось ложным (false).

Оператор else следует сразу после фигурных скобок, относящихся к оператору if и имеет свои собственные фигурные скобки. В них записывается код, который должен быть исполнен тогда, когда значение, проверяемое if окажется ложным (false).

В качестве примера можно рассмотреть следующий. Представьте себе, что Вы написали код, управляющий работой формы для входа на сайт. У Вас имеется два сценария:

  • первый — посетитель ввел корректные логин и пароль
  • второй — посетитель ввел ошибочные данные

В такой ситуации Вы можете использовать условный оператор if для проверки истинности введенной информации. Если она корректна, то исполнятся соответствующие инструкции. Если она ошибочна, то исполнятся инструкции, написанные в фигурных скобках после оператора else. Например, это может быть сообщение о том, что логин и пароль ошибочны и посетителю нужно повторить ввод.

Кроме того, если Вам необходимо последовательно проверить не одно, а несколько значений, то для этого можно использовать комбинацию операторов else if. Аналогично условному оператору if, else if имеет свои круглые и фигурные скобки. В первых записывается проверяемое значение, во вторых — инструкции, которые выполнятся в случае истинности первого. Но также как и else, else if будет исполнен только тогда, когда все записанные выше него операторы if и else if будут оценены как ложные (false).

Вы можете использовать в своем коде такое количество операторов else if, какое Вам необходимо, но они обязательно должны следовать после условного оператора if и перед else, если он присутствует.

Использование операторов else и else if

Создайте переменную

var numPencils:Number = 12;

Введите if()

if()

Внутри круглых скобок проверьте на истинность выражение: numPencils < 9

if( numPencils < 9 )

Внутри фигурных скобок напишите инструкцию, которая будет исполнена в случае истинности проверяемого выражения: "В коробке меньше 9 карандашей."

if( numPencils < 9 ){
	trace( "В коробке меньше 9 карандашей." );
}

После закрывающей фигурной скобки запишите else if, который проверит на истинность другое выражение, например: numPencils == 9

else if( numPencils == 9 )

Внутри фигурных скобок напишите фразу, которая будет выводится командой trace в панель Output в случае истинности проверяемого выражения: "В коробке ровно 9 карандашей."

else if( numPencils == 9 ){
	trace( "В коробке ровно 9 карандашей." );
}

После закрывающей фигурной скобки запишите оператор else, a в фигурных скобках после него финальную фразу, которая выведется только тогда, если все условия, проверенные до него оказались ложными: "В коробке больше 9 карандашей."

else{
	trace( "В коробке больше 9 карандашей." );
}

У Вас должно получиться, примерно, следующее

Условный оператор else

Нажмите Ctrl + Enter.

В зависимости от того какое значение Вы присвоили переменной numPencils выполнится одна из трех инструкций, ассоциированных с операторами if, else if или else и в панели Output появится соответствующая фраза.

Вывод в панели Output

Дополнительная информация

Любое выражение может быть протестировано условным оператором if на истинность или ложность. Значения переменных типа Boolean по умолчанию, как Вы уже знаете, могут быть либо true либо false. Поэтому, если у Вас, например, имеется переменная

var adminStatus:Boolean = true;

тогда результат проверки

if( adminStatus )

будет оценен как true. Для того чтобы протестировать на обратный результат используйте символ " ! "

if( !adminStatus )

будет соответствовать false. Значения переменных другого типа могут быть протестированы таким же образом, но Вы должны четко понимать, как эти значения интерпретируются ActionScript. Например, если тип переменной num1 установлен как Number, то if( num1 ) будет оценено как true, если переменная num1 не равна 0 или не является null. В противном случае будет false.

Переменные строкового типа будут оцениваться как true, если они не пустые или не null. Тоже самое применимо и к массивам: они будут оцениваться как true, если они не пустые или не null.

Более сложные типы данных будут оцениваться как true, если они не null, например:

if( mcSquare1 )

будет true, если экземпляр такого MovieClip'а существует или будет false, если Вы умышленно написали

mcSquare1 = null