Руководство по actionscript. часть 2, стр. 019
Таблица 10.2. Операторы языка ActionScript
Оператор Приоритет Описание Пример
15 Многоцелевое использование. 1. Обращается к переменной или методу. 2. Отделяет имена пакетов от имен классов и других пакетов. 3. Обращается к дочерним элементам объекта XML или XMLList (спецификация Е4Х) 1. Обращение к переменной: product, price 2. Ссылка на класс: flash. d isplay. Sprite 3. Обращение к дочернему элементу объекта XML: novel. TITLE
Оператор Приоритет Описание Пример
[] 15 Многоцелевое использование. 1. Выполняет инициализацию массива. 2. Обращается к элементу массива. 3. Обращается к переменной или методу с использованием любого выражения, возвращающего строку. 4. Обращается к дочерним элементам или атрибутам объекта XML или XMLList (спецификация Е4Х) 1. Инициализация массива: ["apple", "orange", "pear"] 2. Обращение к четвертому элементу массива: list[3] 3. Обращение к переменной: product["price"] 4. Обращение к дочернему элементу объекта XML: novel["TITLE"]
О 15 Многоцелевое использование. 1. Задает особый порядок выполнения операций (приоритет). 2. Вызывает функцию или метод. 3. Содержит фильтрующий предикат спецификации Е4Х 1. Выполнение операции сложения до операции умножения: (5 + 4) * 2 2. Вызов функции: trace() 3. Фильтрация объекта XMLList: staff.*.(SALARY <= 35000)
@ 15 Обращается к атрибутам XML-элемента Получение всех атрибутов элемента novel: novel. @*
15 Отделяет уточняющее пространство имен от имени Уточнение имени orange в пространстве имен fruit: fruit:: orange
15 Обращается к потомкам XML-элемента Получение всех элементов-потомков элемента loan с именем DIRECTOR: loan..DIRECTOR
{х:у} 15 Создает новый объект и инициализирует его динамические переменные Создание объекта с динамическими переменными width и height: {width:30, height:5>
new 15 Создает экземпляр класса Создание экземпляра класса TextField: new TextField()
15 Описывает XML-элемент Создание XML-элемента с именем BOOK: Essential ActionScript 3.0 воок>
Х++ 14 Прибавляет единицу к значению переменной х и возвращает ее прежнее значение (постфиксный инкремент) Увеличение i на 1 и возврат прежнего значения i: i++
х— 14 Вычитает единицу из значения переменной х и возвращает ее прежнее значение (постфиксный декремент) Уменьшение i на 1 и возврат прежнего значения i:
++Х 14 Прибавляет единицу к значению переменной х и возвращает ее новое значение (префиксный инкремент) Увеличение i на 1 и возврат результата: ++i
Таблица 10.2 (продолжение)
Оператор Приоритет Описание Пример
—X 14 Вычитает единицу из значения переменной х и возвращает ее новое значение (префиксный декремент) Уменьшение i на 1 и возврат результата:
14 Изменяет знак операнда (положительное значение становится отрицательным, а отрицательное — положительным) var a:int = 10; Присвоение -10 переменной Ь: var b:int = — а;
14 Выполняет операцию побитового НЕ Сброс бита 2 значения переменной options: options &= ~4;
14 Возвращает логическое значение, противоположное его единственному операнду Если значением переменной underl8 не является true, то выполняется тело условного оператора: if (!underl8){ trace(«You can apply for a credit card») }
delete 14 Многоцелевое использование. 1. Удаляет значение элемента массива. 2. Удаляет динамическую переменную экземпляра объекта. 3. Удаляет XML-элемент или атрибут 1. Создание массива: var genders:Array = ["male","female"] 2. Удаление значения первого элемента: delete genders[0]; 3. Создание объекта: var о:Object = new Object(); o. a = 10; 4. Удаление динамической переменной экземпляра а: delete o. a; 5. Удаление элемента из объекта XML, на который ссылается переменная novel: delete novel. TITLE;
typeof 14 Возвращает простое строковое описание различных типов объектов. Используется только для обеспечения обратной совместимости с языками ActionScript 1.0 и ActionScript 2.0 Получение строкового описания типа значения 35: typeof 35
void 14 Возвращает значение undefined var о:Object = new Object(); o. a = 10; Сравнение значения undefined со значением o. a: if (o. a == void) { trace(«o. a does not exist, or has no value»); }
* 13 Перемножает два числа Умножение 4 на 6: 4*6
/ 13 Делит левый операнд на правый операнд Деление 30 на 5: 30/5
Оператор Приоритет Описание Пример
% 13 Возвращает остаток (то есть модуль) от деления левого операнда на правый операнд Остаток от деления 14 на 4: 14 % 4
+ 12 Многоцелевое использование. 1. Складывает два числа. 2. Объединяет (конкатенирует) две строки. 3. Объединяет (конкатенирует) два объекта XML или XMLList 1. Результат 25 плюс 10: 25 + 10 2. Объединение строк «Не» и «Но» в строку «Hello»: «Не» + «Но» 3. Объединение двух объектов XML: Programmer +
- 12 Вычитает правый операнд из левого операнда Вычитание 2 из 12: 12-2
<< 11 выполняет побитовый сдвиг влево сдвигает значение 9 на четыре бита влево: 9 << 4
>> 11 Выполняет побитовый знаковый сдвиг вправо Сдвигает значение 8 на один бит вправо: 8 » 1
>>> 11 Выполняет побитовый беззнаковый сдвиг вправо Сдвигает значение 8 на один бит вправо, заполняя освободившиеся биты нулями: 8 »> 1
< 10 проверяет справедливость условия, что левый операнд меньше правого. в зависимости от значений операндов возвращает true или false 1. проверяет справедливость условия, что 5 меньше 6: 5 < 6 2. проверяет, обладает ли символ "а" более низкой кодовой позицией, чем символ "z": "а" < "z"
<= 10 проверяет справедливость условия, что левый операнд меньше либо равен правому операнду. в зависимости от значений операндов возвращает true или false 1. проверяет справедливость условия, что 10 меньше либо равно 5: 10 <= 5 2. проверяет, обладает ли символ "с" более низкой или такой же кодовой позицией, что и символ "d": "с" <= "d"
> 10 Проверяет справедливость условия, что левый операнд больше правого. В зависимости от значений операндов возвращает true или false 1. Проверяет справедливость условия, что 5 больше 6: 5 > 6 2. Проверяет, обладает ли символ «а» более высокой кодовой позицией, чем символ «z»: «а» > «z»
>= 10 Проверяет справедливость условия, что левый операнд больше либо равен правому операнду. В зависимости от значений операндов возвращает true или false 1. Проверяет справедливость условия, что 10 больше либо равно 5: 10 >= 5 2. Проверяет, обладает ли символ «С» более высокой или такой же кодовой позицией, что и символ «D»: «С» >= «D»
Таблица 10.2 (продолжение)
Оператор Приоритет Описание Пример
as Проверяет, принадлежит ли левый операнд типу данных, указанному правым операндом. Если это так, возвращается объект; в противном случае возвращается значение null Var d:Date = new Date() Проверяет, принадлежит ли значение переменной d типу данных Date: d as Date
is Проверяет, принадлежит ли левый операнд типу данных, указанному правым операндом. Если это так, возвращается true; в противном случае возвращается false var a:Array = new Array() Проверяет, принадлежит ли значение переменной а типу данных Array: a is Array
in Проверяет, обладает ли объект указанной открытой переменной или методом экземпляра Var d:Date = new Date() Проверяет, обладает ли значение переменной d открытой переменной или открытым методом с именем getMonth: «getMonth» in d
instanceof 10 Проверяет, включает ли цепочка прототипов левого операнда правый операнд. В зависимости от значений операндов возвращает true или false var s:Sprite = new Sprite() Проверяет, включает ли цепочка прототипов значения переменной s объект DisplayObject: s instanceof DisplayObject
9 Проверяет, являются ли два выражения равными (условие равенства). В зависимости от значений операндов возвращает true или false Проверяет, равняется ли выражение «hi» выражению «hello»: «hi» == «hello»
9 Проверяет, являются ли два выражения неравными (условие неравенства). В зависимости от значений операндов возвращает true или false Проверяет, не равно ли выражение 3 выражению 3: 3 != 3
9 Проверяет, являются ли два выражения равными, не выполняя преобразование типов данных операндов к примитивным типам (условие строгого равенства). В зависимости от значений операндов возвращает true или false Проверяет, равняется ли выражение «3″ выражению 3. Этот код компилируется только в стандартном режиме: »3″ ===з
9 Проверяет, являются ли два выражения неравными, не выполняя преобразование типов данных операндов к примитивным типам (условие строгого неравенства). В зависимости от значений операндов возвращает true или false Проверяет, не равно ли выражение «3″ выражению 3. Этот код компилируется только в стандартном режиме: «3″ !== 3
& 8 Выполняет операцию побитового И Объединяет биты значений 15 и 4 с помощью операции побитового И: 15 & 4
Оператор Приоритет Описание Пример
л 7 Выполняет операцию побитового исключающего ИЛИ Объединяет биты значений 15 и 4 с помощью операции побитового исключающего ИЛИ: 15 А 4
1 6 Выполняет операцию побитового ИЛИ Объединяет биты значений 15 и 4 с помощью операции побитового ИЛИ: 15 | 4
&& 5 Сравнивает результаты двух выражений с помощью операции логического И. Если значение левого операнда равно false или преобразуется в false, оператор возвращает левый операнд; в противном случае оператор возвращает правый операнд var validUser: Boolean = true; var validPassword: Boolean = false; Проверяет, имеют ли обе переменные — validUser и validPassword — значение true: if (validUser && validPassword) { // Выполнить вход… }
II 4 Сравнивает результаты двух выражений с помощью операции логического ИЛИ. Если значение левого операнда равно true или преобразуется в true, оператор возвращает левый операнд; в противном случае оператор возвращает правый операнд var promotionalDay: Boolean = false; var registeredUser:Boolean = false; Проверяет, чтобы значение любой из переменных promotionalDay или registeredUser равнялось true if (promotionalDay 11 registeredUser) { // Отобразить дополнительное содержимое… }
?: 3 Выполняет простое условие. Если значение первого операнда равно true или преобразуется в true, вычисляется и возвращается значение второго операнда. В противном случае вычисляется и возвращается значение третьего операнда Вызывает один из двух методов в зависимости от того, хранит ли переменная soundMuted значение true: soundMuted? displayVisualAlarm() : playAudioAlarm()
2 Присваивает значение переменной или элементу массива 1. Присваивает 36 переменной age: var ageiint = 36; 2. Присваивает новый массив переменной seasons: var seasons:Array = new Array(); 3. Присваивает значение «winter» первому элементу массива seasons: seasons[0] = «winter»;
+= 2 Прибавляет (или конкатенирует) и присваивает результат 1. Прибавляет 10 к значению переменной п: п += 10; // то же самое, что и n = п + 10; 2. Добавляет восклицательный знак в конец строки msg: msg += «I» 3. Добавляет тег
Таблица 10.2 (иродо. мачте)
Оператор Приоритет Описание Пример
2 Вычитает и присваивает результат Вычитает 10 из значения переменной п: п -= 10; // то же, что и n = п — 10;
*- 2 Умножает и присваивает результат Умножает значение переменной п на 10: п *= 10; // то же, что и n = п * 10;
/= 2 Делит и присваивает результат Делит значение переменной п на 10: п /= 10; // то же, что и n = п / 10;
%= 2 Выполняет операцию деления по модулю и присваивает результат Присваивает переменной п результат операции п % 4: п %= 4; // то же, что и n = п % 4;
<<= 2 сдвигает биты влево и присваивает результат сдвигает биты значения переменной п влево на две позиции: п <<= 2; // то же, что и n = п << 2;
>>= 2 Сдвигает биты вправо и присваивает результат Сдвигает биты значения переменной п вправо на две позиции: п >>= 2; // то же, что и n = п >> 2;
>>>= 2 Сдвигает биты вправо (беззнаковый сдвиг)и присваивает результат Сдвигает биты значения переменной п вправо на две позиции, заполняя освободившиеся биты нулями: п »>= 2; // то же, что и n = п >>> 2;
&= 2 Выполняет операцию побитового И и присваивает результат Объединяет биты значения переменной п со значением 4, используя операцию побитового И: п &= 4 // то же, что и n = п & 4;
А — 2 Выполняет операцию побитового исключающего ИЛИ и присваивает результат Объединяет биты значения переменной п со значением 4, используя операцию побитового исключающего ИЛИ: п А= 4 // то же, что и n = n А 4;
1 = 2 Выполняет операцию побитового ИЛИ и присваивает результат Объединяет биты значения переменной п со значением 4, используя операцию побитового ИЛИ: п | = 4 // то же, что и n = п | 4;
1 Вычисляет сначала значение левого операнда, а затем правого Инициализация и увеличение двух итераторов цикла: for (var i:int = 0, j:int = 10; i < 5; j++h // i принимает значения от 0 до 4 // j принимает значения от 10 до 14 }
Далее: управление списками данных
В этой главе были рассмотрены некоторые основные встроенные инструменты программирования языка ActionScript. В следующей главе мы познакомимся с еще одним важным инструментом языка ActionScript: массивами. Массивы используются для управления списками данных.