Macromedia Flash Professional 8. Графика и анимация
Шрифт:
Давайте рассмотрим такой пример:
_global.someVar: String = "Value";
var someVar: Integer = 3;
…
s = someVar;
Мы объявили две переменные someVar, одну — уровня клипа, другую — глобальную, и присвоили им разные значения. Если мы теперь запросим значение переменной someVar, то переменной s будет присвоено число 3 — значение переменной someVar уровня клипа как имеющей более "узкую" область видимости. Глобальная переменная someVar будет "замаскирована".
Всегда
Но как получить значение глобальной переменной someVar? Очень просто — нужно использовать модификатор _giobal:
s = _global.someVar;
Операторы
Ну что ж, с данными, константами и переменными покончено. Пора приступать к рассмотрению операторов, предназначенных для манипуляций с ними.
Арифметические операторы служат для выполнения арифметических действий над значениями констант и переменных. Все арифметические операторы, поддерживаемые ActionScript, перечислены в табл. 19.2.
Арифметические операторы делятся на две группы: унарные и бинарные. Унарные операторы выполняются над одним операндом; к ним относятся операторы смены знака, инкремента и декремента. Унарный оператор извлекает из переменной значение, изменяет его и снова помещает в ту же переменную. Приведем пример выражения с унарным оператором:
++r;
При выполнении этого выражения в переменной r окажется ее значение, увеличенное на единицу. А если записать вот так:
s = ++r;
то же значение будет помещено и в переменную s.
Операторы инкремента и декремента могут ставиться как перед операндом, так и после него. Если оператор инкремента стоит перед операндом, то значение операнда сначала инкрементируется, а уже потом используется в дальнейших вычислениях. Если же оператор инкремента стоит после операнда, то его значение сначала используется в других вычислениях, а уже потом инкрементируется. Точно так же ведет себя оператор декремента.
Бинарные операторы всегда имеют два операнда и помещают результат в третью переменную. Вот примеры выражений с бинарными операторами:
l = r * 3.14;
f = е / 2;
х = х + t / 3;
Операторы инкремента и декремента рекомендуется использовать, если значение какой-либо переменной нужно увеличить или уменьшить на единицу. Эти операторы выполняются быстрее, чем операторы сложения и вычитания.
Оператор объединения строк + позволяет соединить две строки в одну. Например, сценарий:
s1 = "Flash";
s2 = "8";
s = s1 + s2;
поместит в переменную s строку "FiashS".
Оператор простого присваивания = нам уже знаком. С его помощью переменной присваивается
а = 2;
b = с = 3;
Второе выражение в приведенном примере выполняет присвоение значения 3 сразу двум переменным — b и с.
Кроме операторов присваивания, ActionScript поддерживает операторы сложного присваивания. Такие операторы позволяют выполнять операцию присваивания одновременно с другой операцией:
а = а + b;
а += b;
Два этих выражения эквивалентны по результату. Просто во втором был использован оператор сложного присваивания +=.
Все операторы сложного присваивания, поддерживаемые ActionScript, и их эквиваленты приведены в табл. 19.3.
Операторы сравнения сравнивают два операнда и возвращают логическое значение. Если условие сравнения выполняется, возвращается логическое значение "истина" (true), если не выполняется — "ложь" (false). Вот примеры выражений с операторами присваивания:
а1 = 2 < 3;
a2 = -4 > 0;
а3 = r < t;
Переменная a1 получит значение true (2 меньше 3), переменная а2 — значение false (число -4 по определению не может быть больше нуля), а значение переменной а3 будет зависеть от значений переменных r и t.
Все поддерживаемые ActionScript операторы сравнения приведены в табл. 19.4.
С первыми шестью операторами сравнения все понятно. Но на двух последних операторах — "строго равно" и "строго не равно" — нужно остановиться подробнее. Это операторы так называемого строгого сравнения. Обычные операторы "равно" и "не равно", если встречают операнды разных типов, пытаются преобразовать их к одному типу (о преобразованиях типов см. далее в этой главе). Операторы строгого равенства и строгого неравенства такого преобразования не делают, а в случае несовместимости типов операндов возвращают false.
Логические операторы выполняют действия над логическими значениями. Все они приведены в табл. 19.5. А в табл. 19.6 и 19.7 показаны результаты выполнения этих операторов.
Основная область применения логических операторов — выражения сравнения (о них см. далее в этой главе). Приведем примеры таких выражении:
а = (b > 0) && (с + 1!
– d);
flag =! (status — 0);