Книга: Macromedia Flash Professional 8. Графика и анимация
Условные выражения
Условные выражения
Условное выражение позволяет нам выполнить одно из двух входящих в него выражений в зависимости от выполнения или невыполнения какого-либо условия. Существует также другая, "вырожденная" разновидность условного выражения, содержащая только одно выражение, которое выполняется при выполнении условия и пропускается, если условие не выполнено.
Что может служить условием в условном выражении? Значение логической переменной или результат вычисления логического выражения. В качестве же выражений, которые должны быть выполнены или не выполнены, в зависимости от условия, могут быть использованы блоки.
Условное выражение имеет следующий формат:
if
(<Условие>).
<Блок "то">
else
<Блок "иначе ">
"Вырожденный" формат его выглядит так:
if (<Условие>).
<Блок "то">
Для написания условных выражений используются особые ключевые слова if и else (в приведенных выше примерах они выделены полужирным шрифтом). Условие — это и есть логическое выражение, в соответствии с которым Flash принимает решение, какой блок выполнить. Если условие имеет значение true ("истина"), то выполняется блок "то". Если же условие имеет значение false ("ложь"), то выполняется блок "иначе" (если он присутствует в условном выражении). Если же блок "иначе" отсутствует, выполняется следующее выражение сценария.
Рассмотрим несколько примеров.
if (х == 1) {
а = "Единица";
b = 1;
}
else {
а = "Не единица";
b = 22222;
}
Здесь мы сравниваем значение переменной х с единицей и в зависимости от результатов сравнения присваиваем переменным f и h разные значение. Обратим внимание на условие — именно так записывается оператор сравнения, в скобках.
Условие может быть довольно сложным:
if ((х == 1) && (у > 10))
f = 3;
else
f = 33;
Здесь мы использовали сложное условие, возвращающее значение true в случае, если значение переменной х равно единице и значение переменной у больше десяти. Заметим также, что мы подставили одиночные выражения, так как фрагменты кода слишком просты, чтобы оформлять их в виде блоков.
Если условное выражение совсем простое, мы можем записать его немного по-другому. А именно, воспользоваться условным оператором?:
<Условиe>? <Выражение "то">: <Выражение "иначе">;
Достоинство этого оператора в том, что он может быть частью выражения. Например:
f = (х == 1 && у > 10)? 3: 33;
Фактически мы записали условное выражение из предыдущего примера, но в виде обычного арифметического выражения. Компактность кода налицо. Недостаток же оператора? в том, что с его помощью можно записывать только самые простые условные выражения.