Главная / Action Script 3

Символические операторы - это знаки, указывающие на то, каким образом объединять, сравнивать или изменять значения выражения.


  Арифметические
 +additionСкладывает числовые выражения.
 --decrementВычитает 1 из значения операнда.
 /divisionДелит expression1 на expression2.
 ++incrementПрибавляет 1 к выражению.
 %moduloВычисляет остаток от деления выражения expression1 на выражение expression2.
 *multiplicationПеремножает два числовых выражения.
 -subtractionИспользуется для отрицания или вычитания.
  Арифметическое составное присваивание
 +=addition assignmentПрисваивает выражению expression1 значение выражения expression1 + expression2.
 /=division assignmentПрисваивает выражению expression1 значение выражения expression1 / expression2.
 %=modulo assignmentПрисваивает выражению expression1 значение выражения expression1 % expression2.
 *=multiplication assignmentПрисваивает выражению expression1 значение выражения expression1 * expression2.
 -=subtraction assignmentПрисваивает выражению expression1 значение выражения expression1 - expression2.
  Присваивание
 =assignmentПрисваивает значение выражения expression2 (операнд справа) переменной, элементу массива или свойству в выражении expression1.
  Побитовые
 &bitwise ANDПреобразует выражения expression1 и expression2 в 32-разрядные целые числа без знака и выполняет логическую операцию AND для каждого бита целочисленных параметров.
 <<bitwise left shiftПреобразует выражение expression1 и shiftCount в 32-разрядные целые числа и сдвигает все биты в выражении expression1 влево на число позиций, заданное целым числом, полученным в результате преобразования выражения shiftCount.
 ~bitwise NOTПреобразует expression в 32-разрядное целое число со знаком, затем применяет побитовое дополнение до единицы.
 |bitwise ORПреобразует expression1 и expression2 в 32-разрядные целые числа без знака и ставит 1 в позиции каждого бита, где соответствующие биты в expression1 или expression2 являются 1.
 >>bitwise right shiftПреобразует выражения expression и shiftCount в 32-разрядные целые числа и сдвигает все биты в выражении expression вправо на число позиций, заданное целым числом, полученным в результате преобразования выражения shiftCount.
 >>>bitwise unsigned right shiftАналогичен оператору побитового сдвига вправо (>>) за исключением того, что он не сохраняет знак исходного выражения, поскольку биты слева всегда заполняются нулями (0).
 ^bitwise XORПреобразует expression1 и expression2 в 32-разрядные целые числа без знака и ставит 1 в позиции каждого бита, где соответствующие биты в expression1 или expression2 (но не в обоих выражениях) равны 1.
  Побитовое составное присваивание
 &=bitwise AND assignmentПрисваивает выражению expression1 значение выражения expression1 & expression2.
 <<=bitwise left shift and assignmentВыполняет побитовый сдвиг влево (<<=) и сохраняет содержимое как результат в выражении expression1.
 |=bitwise OR assignmentПрисваивает выражению expression1 значение выражения expression1 | expression2.
 >>=bitwise right shift and assignmentВыполняет побитовый сдвиг вправо и сохраняет результат в выражении expression.
 >>>=bitwise unsigned right shift and assignmentВыполняет побитовый сдвиг вправо без знака и сохраняет результат в выражении expression.
 ^=bitwise XOR assignmentПрисваивает выражению expression1 значение выражения expression1 ^ expression2.
  Примечание
 /*..*/block comment delimiterОтделяет одну или несколько строк комментариев в сценарии.
 //line comment delimiterУказывает на начало примечания сценария.
  Сравнение
 ==equalityПроверяет равенство двух выражений.
 >greater thanСравнивает два выражения. Если выражение expression1 больше выражения expression2, то результатом будет значение true.
 >=greater than or equal toСравнивает два выражения. Если выражение expression1 больше или равно выражению expression2, то результатом будет значение true, а если выражение expression1 меньше выражения expression2, то результатом будет значение false.
 !=inequalityПроверяет на прямую противоположность оператору равенства (==).
 <less thanСравнивает два выражения. Если выражение expression1 меньше выражения expression2, то результатом будет значение true.
 <=less than or equal toСравнивает два выражения. Если выражение expression1 меньше или равно выражению expression2, то результатом будет значение true.
 ===strict equalityПроверяет равенство двух выражений, но не выполняет автоматическое преобразование данных.
 !==strict inequalityПроверяет на прямую противоположность оператору строгого равенства (===).
  Логические
 &&logical ANDВозвращает выражение expression1, если оно имеет значение false или может быть преобразовано в false, в противном случае возвращает выражение expression2.
 &&=logical AND assignmentПрисваивает выражению expression1 значение выражения expression1 && expression2.
 !logical NOTИнвертирует логическое значение переменной или выражения.
 ||logical ORВозвращает выражение expression1, если оно имеет значение true или может быть преобразовано в true, в противном случае возвращает выражение expression2.
 ||=logical OR assignmentПрисваивает выражению expression1 значение выражения expression1 || expression2.
  Другие
 []array accessИнициализирует новый массив или многомерный массив с заданными элементами (a0 и т. д.) или обращается к элементам массива.
  asПроверяет, относится ли выражение, заданное первым операндом, к типу данных, заданному вторым операндом.
 ,commaВычисляет expression1, затем expression2 и т. д.
 ?:conditionalВычисляет expression1, и если значение expression1 равно true, результатом будет значение expression2; в противном случае результатом будет значение expression3.
  deleteУдаляет свойство объекта, заданное параметром reference. Результатом является значение true, если свойство не существует после завершения операции, в противном случае - false.
 .dotОбеспечивает доступ к переменным и методам класса, определяет и задает свойства объектов и разделяет импортированные пакеты или классы.
  inПроверяет, является ли свойство частью определенного объекта.
  instanceofПроверяет, содержит ли цепочка прототипов выражения объект-прототип для function.
  isПроверяет совместимость объекта с определенным типом данных, классом или интерфейсом.
 ::name qualifierОпределяет пространство имен свойства, метода, свойства XML или атрибута XML.
  newСоздает экземпляр класса.
 {}object initializerСоздает новый объект и инициализирует его с заданными парами свойств name и value.
 ()parenthesesГруппирует один или несколько параметров, последовательно вычисляет выражения или обрамляет один или несколько параметров и передает их в качестве аргументов функции, предшествующей круглым скобкам.
 /RegExp delimiterПри использовании перед символами и после них указывает на то, что символы имеют литеральное значение и считаются регулярным выражением (RegExp), а не переменной, строкой или другим элементом ActionScript.
 :typeИспользуется для назначения типа данных; данный оператор указывает тип переменной, тип возвращаемого функцией значения или тип параметра функции.
  typeofВычисляет выражение expression и возвращает строку, в которой указан тип данных выражения.
  voidВычисляет выражение и удаляет его значение, возвращая undefined.
  Строка
 +concatenationСцепляет (объединяет) строки.
 +=concatenation assignmentПрисваивает выражению expression1 значение выражения expression1 + expression2.
 "string delimiterПри использовании перед символами и после них указывает на то, что символы имеют литеральное значение и считаются строкой, а не переменной, числовым значением или другим элементом ActionScript.
  XML
 @attribute identifierОпределяет атрибуты объекта XML или XMLList.
 { }braces (XML)Вычисляет выражение, которое используется в инициализаторе XML или XMLList.
 [ ]brackets (XML)Обращается к свойству или атрибуту объекта XML или XMLList.
 +concatenation (XMLList)Сцепляет (объединяет) значения XML или XMLList дл образования объекта XMLList.
 +=concatenation assignment (XMLList)Присваивает выражению expression1, которое является объектом XMLList, значение выражения expression1 + expression2.
  delete (XML)Удаляет элементы или атрибуты XML, заданные параметром reference.
 ..descendant accessorОбеспечивает навигацию к потомкам объекта XML или XMLList, либо (в сочетании с оператором @) находит соответствующие атрибуты потомков.
 .dot (XML)Обеспечивает навигацию к дочерним элементам объекта "XML" или "XMLList", либо (в сочетании с оператором @) возвращает атрибуты объекта "XML" или "XMLList".
 ( )parentheses (XML)Вычисляет выражение в конструкции E4X XML.
 < >XML literal tag delimiterОпределяет тег XML в литерале XML.
Сведения об операторе
+ addition Оператор
Применение
expression1 + expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Складывает числовые выражения. Если оба выражения являются целыми числами, их сумма также будет выражена целым числом; если одно из выражений или оба выражения являются числами с плавающей запятой, их сумма также будет выражена числом с плавающей запятой.

Если одно выражение является строкой, все другие выражения преобразуются в строки и сцепляются, а не суммируются. В противном случае, если выражение не является числом, проигрыватель Flash® Player преобразует его в число.

Операнд
expression1:Number — Складываемое число.
expression2:Number — Складываемое число.

Результат
Number — Целое число или число с плавающей запятой.

Пример
Как пользоваться примерами
Данная инструкция складывает целые числа 2 и 3:
trace(2 + 3); // 5
Данная инструкция складывает числа с плавающей запятой 2,5 и 3,25:
trace(2.5 + 3.25); // 5.75
Данный пример показывает, что если одно выражение является строкой, все другие выражения преобразуются в строки и сцепляются:
trace("Number " + 8 + 0); // Number 80
Переменные, связанные с динамическими и текстовыми полями ввода относятся к типу данных String. В следующем примере переменная deposit является текстовым полем ввода в рабочей области. После того, как пользователь вводит сумму вклада, сценарий пытается сложить deposit с oldBalance. Однако из-за того, что переменная deposit относится к типу String, сценарий сцепляет (объединяет в одну строку) значения переменных вместо их суммирования.
var oldBalance:Number = 1345.23; 
var currentBalance = deposit_txt.text + oldBalance; 
trace(currentBalance); 
Например, при вводе пользователем числа 475 в текстовое поле вклада инструкция trace() отправит на панель "Вывод" значение 4751345,23. Чтобы исправить это, используйте функцию Number() для преобразования строки в число, как показано ниже:
var oldBalance:Number = 1345.23; 
var currentBalance:Number = Number(deposit_txt.text) + oldBalance;
trace(currentBalance);

См. также

+= addition assignment Оператор  
Применение
expression1 += expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Присваивает выражению expression1 значение выражения expression1 + expression2. Например, следующие две инструкции имеют одинаковый результат:

x += y; 
x = x + y; 
Все правила оператора сложения (+) применимы и к оператору сложения с присваиванием (+=).

Операнд
expression1:Number — Число.
expression2:Number — Число.

Результат
Number — Результат сложения.

Пример
Как пользоваться примерами
Следующий пример иллюстрирует использование оператора сложения с присваиванием (+=) с числами:
var x:Number = 5; 
var y:Number = 10; 
x += y; 
trace(x); // 15 

См. также

[] array access Оператор  
Применение
myArray = [a0, a1,...aN]
myArray[i] = value 
myObject[propertyName]

Версии среды выполнения: Flash Player 9

Инициализирует новый массив или многомерный массив с заданными элементами (a0 и т. д.) или обращается к элементам массива. Оператор доступа к массиву позволяет динамически задавать и извлекать имена экземпляров, переменных и объектов. Он также позволяет получить доступ к свойствам объектов.

Применение 1: Массив представляет собой объект, свойства которого называются элементами, каждый из которых имеет числовой идентификатор, называемый индексом. При создании массива его элементы заключаются в квадратные скобки оператора доступа к массиву ([]). Массив может содержать элементы различных типов. Например, следующий массив с именем employee состоит из трех элементов; первый элемент является числом, а остальные два - строками (внутри кавычек):

var employee:Array = [15, "Barbara", "Jay"]; 
Квадратные скобки можно вкладывать для моделирования многомерных массивов. Глубина вложения массивов может достигать 256 уровней. Следующий код создает массив с именем ticTacToe, состоящий из трех элементов; каждый элемент также является массивом, состоящим из трех элементов:
var ticTacToe:Array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; 
			
/* Выберите "Отладка" > "Создать список переменных" в тестовом режиме, 
чтобы просмотреть список элементов массива.*/ 
Применение 2: Заключите индекс каждого элемента в квадратные скобки ([]) для прямого доступа к нему; можно добавить новый элемент в массив или изменить или извлечь значение существующего элемента. Первый индекс массива всегда 0, как показано в следующем примере:
var my_array:Array = new Array(); 
my_array[0] = 15; 
my_array[1] = "Hello"; 
my_array[2] = true; 
При помощи квадратных скобок можно добавить четвертый элемент, как показано в следующем примере:
my_array[3] = "George"; 
Квадратные скобки можно использовать для доступа к элементу в многомерном массиве. Первый набор квадратных скобок определяет элемент исходного массива, а второй набор скобок - элемент вложенного массива. Следующая инструкция trace() находит третий элемент (индекс 2) второго массива (индекс 1).
var ticTacToe:Array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; 
trace(ticTacToe[1][2]); // 6 
Применение 3: Оператор доступа к массиву позволяет динамически задавать и извлекать значения свойства объекта.
var obj:Object = new Object();
obj.prop1 = "foo";
trace(obj["prop" + 1]); // foo
obj.prop2 = "bar";
for (j in obj) {
	trace(obj[j]);
} 
/* Вывод цикла for: 
foo
bar */

Операнд
myArray:Object — Имя массива.
a0, a1,...aN:Object — Элементы массива; любой собственный тип или экземпляр объекта, включая вложенные массивы.
i:Number — Целочисленный индекс больше или равный 0.
myObject:Object — Имя объекта.
propertyName:String — Строка, называющая свойство объекта.

Результат
Object

Применение 1: Ссылка на массив.

Применение 2: Значение из массива; собственный тип или экземпляр объекта (включая экземпляр Array).

Применение 3: Свойство объекта; собственный тип или экземпляр объекта (включая экземпляр Array).


Пример
Как пользоваться примерами
Следующий пример иллюстрирует два способа создания нового пустого объекта Array; в первой строке используются квадратные скобки:
var my_array:Array = []; 
var my_array:Array = new Array(); 

В следующем примере создается массив с именем employee_array, состоящий из трех элементов, и изменяется третий элемент этого массива.

var employee_array = ["Barbara", "George", "Mary"]; 
trace(employee_array); // Barbara,George,Mary 
employee_array[2] = "Sam"; 
trace(employee_array); // Barbara,George,Sam 
В следующем примере вычисляется выражение в квадратных скобках, а результат используется в качестве имени переменной, которую нужно извлечь из объекта obj:
var obj:Object = new Object();
obj.prop1 = "foo";
obj.prop2 = "bar";

for (var i:int = 1;i < 3;i++) {
    trace(obj["prop"+i]);
}
/* Вывод цикла for:
foo
bar */ 

См. также

as Оператор  
Применение
expression as datatype

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Проверяет, относится ли выражение, заданное первым операндом, к типу данных, заданному вторым операндом. Если первый операнд относится к этому типу данных, результатом будет первый операнд. В противном случае результатом будет значение null.

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

Операнд
expression:* — Значение, сверяемое с указанным типом данных.
datatype:Class — Тип данных, используемый для вычисления операнда expression. Специальный тип *, который значит, что тип не присвоен, использовать нельзя.

Результат
Object — Результатом является expression, если expression относится к типу данных, заданному в datatype. В противном случае результатом будет значение null.

Пример
Как пользоваться примерами
В следующем примере создается простой массив с именем myArray и используется оператор as с различными типами данных.
public var myArray:Array = ["one", "two", "three"];
trace(myArray as Array);  // one,two,three
trace(myArray as Number); // null
trace(myArray as int);    // null

См. также

= assignment Оператор  
Применение
expression1 = expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Присваивает значение выражения expression2 (операнд справа) переменной, элементу массива или свойству в выражении expression1. Присваивание может быть либо по значению, либо по ссылке. При присваивании по значению копируется фактическое значение выражения expression2 и сохраняется в выражении expression1. Присваивание по значению используется, когда выражение expression2 является примитивным значением, т. е. относится к типу данных Boolean, Number, int, uint или String. При присваивании по ссылке ссылка на выражение expression2 сохраняется в выражении expression1. Присваивание по ссылке обычно используется с оператором new. Оператор new создает объект в памяти, а ссылка на это местоположение в памяти присваивается переменной.

Примечание. В ActionScript 3.0 все значения (включая примитивные) являются объектами, и присваивание всегда выполняется по ссылке, но для примитивных объектов существуют специальные операторы, которые позволяют им вести себя так, как при присваивании по значению.

Операнд
expression1:* — Переменная, элемент массива или свойство объекта.
expression2:* — Значение любого типа.

Результат
Object — Присвоенное значение, expression2.

Пример
Как пользоваться примерами
В следующем примере используется присваивание по значению для присваивания переменной z значения 5.
var z:Number = 5;
В следующем примере используется присваивание по значению для присваивания переменной z значения "hello".
var x:String;
x = "hello";
В следующем примере используется присваивание по ссылке для создания переменной moonsOfJupiter, содержащей ссылку на вновь созданный объект Array. Затем при помощи присваивания по значению значение "Callisto" копируется в первый элемент массива, на который ссылается переменная moonsOfJupiter:
var moonsOfJupiter:Array = new Array();
moonsOfJupiter[0] = "Callisto";
В следующем примере используется присваивание по ссылке для создания нового объекта и присваиванич ссылки на этот объект переменной mercury. Затем используется присваивание по значению для присваивания свойству diameter объекта mercury значения 3030:
var mercury:Object = new Object();
mercury.diameter = 3030; // в милях
trace(mercury.diameter); // 3030
Следующий пример строится на предыдущем. В нем создается переменная с именем merkur (слово mercury по-немецки), которой присваивается значение mercury. Таким образом создаются две переменные, которые ссылаются на один и тот же объект в памяти, поэтому для доступа к свойствам объекта можно использовать любую из этих переменных. Затем можно изменить свойство diameter так, чтобы использовать километры вместо миль:
var merkur:Object = mercury;
merkur.diameter = 4878;  // в километрах
trace(mercury.diameter); // 4878

См. также

@ attribute identifier Оператор  
Применение
 myXML.@attributeName 

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Определяет атрибуты объекта XML или XMLList. Например, myXML.@id определяет атрибуты с именем id для объекта XML с именем myXML. Можно также использовать следующий синтаксис для доступа к атрибутам: myXML.attribute("id"), myXML["@id"] и myXML.@["id"]. Синтаксис myXML.@id является рекомендуемым. Для возврата объекта XMLList с именами всех атрибутов используйте @*. Для возврата атрибута, имя которого совпадает с зарезервированным словом ActionScript, используйте метод attribute() вместо оператора @.

Операнд
attributeName:* — Имя атрибута.

Пример
Как пользоваться примерами
Следующий пример иллюстрирует использование оператора @ (знак at) для определения атрибута элемента:
var myXML:XML = 
    <item id = "42">
        <catalogName>Presta tube</catalogName>
        <price>3.99</price>
    </item>;

trace(myXML.@id); // 42
В следующем примере возвращаются имена всех атрибутов:
var xml:XML =<example id='123' color='blue'/>
 var xml2:XMLList = xml.@*;
 trace(xml2 is XMLList); // true
 trace(xml2.length());  // 2
 for (var i:int = 0; i < xml2.length(); i++)
 { 
    trace(typeof(xml2[i]));    // xml
    trace(xml2[i].nodeKind()); // атрибут
    trace(xml2[i].name());     // id и color
 } 
В следующем примере возвращается атрибут, имя которого совпадает с зарезервированным словом ActionScript, Синтаксис xml.@class использовать нельзя (так как class является зарезервированным словом ActionScript). Нужно использовать синтаксис xml.attribute("class"):
var xml:XML = <example class='123'/>
trace(xml.attribute("class"));

См. также

& bitwise AND Оператор  
Применение
expression1 & expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Преобразует выражения expression1 и expression2 в 32-разрядные целые числа без знака и выполняет логическую операцию AND для каждого бита целочисленных параметров. Числа с плавающей запятой преобразуются в целые числа путем отсечения всех цифр после десятичной запятой. Результатом является новое 32-разрядное целое число.

Положительное целое число преобразуется в шестнадцатеричное значение без знака величиной максимум 4294967295 или 0xFFFFFFFF. У значения, превышающего максимальную величину, при преобразовании отсекаются значащие цифры так, что значение все равно становится 32-разрядным. Отрицательное целое число преобразуется в шестнадцатеричное значение без знака в написании с дополнением до двух величиной минимум -2147483648 или 0x800000000. Число меньше минимальной величины преобразуется в число с дополнением до двух с большей точностью перед отсечением значащих цифр.

Результат интерпретируется как 32-разрядное число с дополнением до двух, поэтому результатом является целое число в диапазоне от -2147483648 до 2147483647.

Операнд
expression1:Number — Число или выражение, принимающие числовое значение.
expression2:Number — Число или выражение, принимающие числовое значение.

Результат
int — Результат побитовой операции.

Пример
Как пользоваться примерами
В следующем примере выполняется побитовая операция AND над числами 13 (двоичное 1101) и 11 (двоичное 1011) путем сравнения битовых представлений этих чисел. Получившееся в результате целое число состоит из последовательности битов, каждый из которых установлен на 1, только если биты обоих операндов в одинаковых позициях равны 1.
var insert:Number = 13; 
var update:Number = 11; 
trace(insert & update); // 9 (или двоичное 1001) 
Результатом выполнения побитовой операции AND с числами 13 (двоичное 1101) и 11 (двоичное 1011) является число 9, так как только первая и последняя позиции в обоих числах заняты числом 1.
  1101
& 1011
  ----
  1001

Далее приведены примеры преобразования возвращаемого значения:

trace(0xFFFFFFFF); // 4294967295 
trace(0xFFFFFFFF & 0xFFFFFFFF); // -1 
trace(0xFFFFFFFF & -1); // -1 
trace(4294967295 & -1); // -1 
trace(4294967295 & 4294967295); // -1 

См. также

&= bitwise AND assignment Оператор  
Применение
expression1 &= expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Присваивает выражению expression1 значение выражения expression1 & expression2. Например, следующие два выражения идентичны:

x &= y; 
x = x & y; 

Операнд
expression1:Number — Число или выражение, принимающие числовое значение.
expression2:Number — Число или выражение, принимающие числовое значение.

Результат
int — Значение выражения expression1 & expression2.

Пример
Как пользоваться примерами
В следующем примере переменной x присваивается значение 9:
var x:Number = 15; 
var y:Number = 9; 
trace(x &= y); // 9 

См. также

<< bitwise left shift Оператор  
Применение
expression1 << shiftCount

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Преобразует выражения expression1 и shiftCount в 32-разрядные целые числа и сдвигает все биты в выражении expression1 влево на число позиций, заданное целым числом, полученным в результате преобразования выражения shiftCount. Позиции битов, ставшие пустыми в результате этой операции, заменяются на 0, а биты, сдвинутые за левый край, отсекаются. Сдвиг значения влево на одну позицию эквивалентен его умножению на 2.

Число с плавающей запятой преобразуется в целое число путем отсечения всех цифр после десятичной запятой. Положительное целое число преобразуется в шестнадцатеричное значение без знака величиной максимум 4294967295 или 0xFFFFFFFF. У значения, превышающего максимальную величину, при преобразовании отсекаются значащие цифры так, что значение все равно становится 32-разрядным. Отрицательное целое число преобразуется в шестнадцатеричное значение без знака в написании с дополнением до двух величиной минимум -2147483648 или 0x800000000. Число меньше минимальной величины преобразуется в число с дополнением до двух с большей точностью перед отсечением значащих цифр.

Результат интерпретируется как 32-разрядное число с дополнением до двух, поэтому результатом является целое число в диапазоне от -2147483648 до 2147483647.

Если результатом является отрицательное целое число, то при попытке присвоить результат переменной типа uint произойдет ошибка этапа выполнения. Хотя в ActionScript отсутствует оператор "побитовый сдвиг влево без знака", можно достичь того же эффекта и избежать ошибки этапа выполнения при помощи uint(expression1 << shiftCount):

var num1:uint = 0xFF;
var num2:uint = uint(num1 << 24); // uint() предотвращает возникновение ошибки этапа выполнения

Операнд
expression1:Number — Число или выражение, к которому применяется сдвиг влево.
shiftCount:Number — Число или выражение, преобразуемое в целое число от 0 до 31.

Результат
int — Результат побитовой операции.

Пример
Как пользоваться примерами
В следующем примере целое число 1 сдвигается на 10 битов влево:
x = 1 << 10
Результатом операции побитового сдвига влево является 1024. Т. е. десятичное число 1 равно двоичному числу 1, двоичное 1 со сдвигом влево на 10 позиций равно двоичному 10000000000, а двоичное 10000000000 - это десятичное 1024:
   двоичное 00000000001 
<<          десятичное 10
--------------
   двоичное 10000000000 равно десятичному 1024 

В следующем примере целое число 7 сдвигается на 8 битов влево:

x = 7 << 8
Результатом операции побитового сдвига влево является 1792. Т. е. десятичное число 7 равно двоичному числу 111, двоичное 111 со сдвигом влево на 8 позиций равно двоичному 11100000000, а двоичное 11100000000 - это десятичное 1792:
   двоичное 00000000111 
<<          десятичное 8
--------------
   двоичное 11100000000 равно десятичному 1792 

Следующая инструкция trace показывает, что биты были сдвинуты на три позиции влево:

// 1 binary == 0001 
// 8 binary == 1000 
trace(1 << 3); // 8 

См. также

<<= bitwise left shift and assignment Оператор  
Применение
expression1 <<= expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Выполняет побитовый сдвиг влево (<<=) и сохраняет содержимое как результат в выражении expression1. Следующие два выражения идентичны:

A <<= B
A = (A << B)

Операнд
expression1:Number — Число или выражение, к которому применяется сдвиг влево.
expression2:Number — Число или выражение, преобразуемое в целое число от 0 до 31.

Результат
int — Результат побитовой операции.

Пример
Как пользоваться примерами
В следующем примере используется оператор побитового сдвига влево с присваиванием (<<=) для сдвига всех битов на одну позицию влево:
var x:Number = 4; 
// Сдвиг всех битов на одну позицию влево. 
x <<= 1; 
trace(x); // 8 
// десятичное 4 = двоичное 0100 
// десятичное 8 = двоичное 1000 

См. также

~ bitwise NOT Оператор  
Применение
~expression

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Преобразует expression в 32-разрядное целое число со знаком, затем применяет побитовое дополнение до единицы. Т. е. каждый бит, равный 0, в результате имеет значение 1, а каждый бит, равный 1, в результате имеет значение 0. Результатом является 32-разрядное целое число со знаком. Данный оператор также называется оператором дополнения до единицы или оператором побитового дополнения.

Например, шестнадцатеричное значение 0x7777 представлено в виде такого двоичного числа:

0111011101110111

Побитовое отрицание этого шестнадцатеричного значения, ~0x7777, имеет вид такого двоичного числа:

1000100010001000

В шестнадцатеричном формате это 0x8888. Следовательно, ~0x7777 - это 0x8888.

Типичным использованием побитовых операторов является представление флаговых битов (логические значения, упакованные в 1 бит каждое).

Число с плавающей запятой преобразуется в целое число путем отсечения всех цифр после десятичной запятой. Положительное целое число преобразуется в шестнадцатеричное значение без знака величиной максимум 4294967295 или 0xFFFFFFFF. У значения, превышающего максимальную величину, при преобразовании отсекаются значащие цифры так, что значение все равно становится 32-разрядным. Отрицательное целое число преобразуется в шестнадцатеричное значение без знака в написании с дополнением до двух величиной минимум -2147483648 или 0x800000000. Число меньше минимальной величины преобразуется в число с дополнением до двух с большей точностью перед отсечением значащих цифр.

Результат интерпретируется как 32-разрядное число с дополнением до двух, поэтому результатом является целое число в диапазоне от -2147483648 до 2147483647.

Операнд
expression:Number — Преобразуемое число.

Результат
int — Результат побитовой операции.

Пример
Как пользоваться примерами
Следующий пример иллюстрирует использование побитового оператора NOT (~) с флаговыми битами:
var ReadOnlyFlag:int = 0x0001; // определяет бит 0 как флаг только для чтения 
var flags:int = 0; 
trace(flags); 
/* Чтобы задать флаг только для чтения в переменной flags, 
   в следующем коде используется побитовый оператор OR: 
*/
flags |= ReadOnlyFlag; 
trace(flags); 
/* Чтобы очистить флаг только для чтения в переменной flags, 
   сначала создайте маску, применив побитовый оператор NOT к ReadOnlyFlag. 
   В маске каждый бит равен 1 кроме флага только для чтения. 
   Затем примените побитовый оператор AND к маске, чтобы очистить флаг только для чтения. 
   В следующем коде создается маска и выполняется побитовый оператор AND: 
*/ 
flags &= ~ReadOnlyFlag; 
trace(flags); 
// 0 1 0 

См. также

| bitwise OR Оператор  
Применение
expression1 | expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Преобразует expression1 и expression2 в 32-разрядные целые числа без знака и ставит 1 в позиции каждого бита, где соответствующие биты в expression1 или expression2 являются 1.

Число с плавающей запятой преобразуется в целое число путем отсечения всех цифр после десятичной запятой. Положительное целое число преобразуется в шестнадцатеричное значение без знака величиной максимум 4294967295 или 0xFFFFFFFF. У значения, превышающего максимальную величину, при преобразовании отсекаются значащие цифры так, что значение все равно становится 32-разрядным. Отрицательное целое число преобразуется в шестнадцатеричное значение без знака в написании с дополнением до двух величиной минимум -2147483648 или 0x800000000. Число меньше минимальной величины преобразуется в число с дополнением до двух с большей точностью перед отсечением значащих цифр.

Результат интерпретируется как 32-разрядное число с дополнением до двух, поэтому результатом является целое число в диапазоне от -2147483648 до 2147483647.

Операнд
expression1:Number — Число.
expression2:Number — Число.

Результат
int — Результат побитовой операции.

Пример
Как пользоваться примерами
Далее приводится пример побитовой операции OR (|):
// десятичное 15 = двоичное 1111 
var a:Number = 15; 
// десятичное 9 = двоичное 1001 
var b:Number = 9; 
// 1111 | 1001 = 1111 
trace(a | b); // возвращает десятичное 15 (двоичное 1111) 
Не путайте одинарный знак | (побитовый оператор OR) с двойным || (логический оператор OR).

См. также

|= bitwise OR assignment Оператор  
Применение
expression1 |= expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Присваивает выражению expression1 значение выражения expression1 | expression2. Например, следующие две инструкции идентичны:

x |= y; 
x = x | y; 

Операнд
expression1:Number — Преобразуемое число.
expression2:Number — Преобразуемое число.

Результат
int — Результат побитовой операции.

Пример
Как пользоваться примерами
В следующем коде используется побитовый оператор OR с присваиванием (|=):
// десятичное 15 = двоичное 1111 
var a:Number = 15; 
// десятичное 9 = двоичное 1001 
var b:Number = 9; 
// 1111 |= 1001 = 1111 
trace(a |= b); // возвращает десятичное 15 (двоичное 1111) 

См. также

>> bitwise right shift Оператор  
Применение
expression >> shiftCount

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Преобразует выражения expression и shiftCount в 32-разрядные целые числа и сдвигает все биты в выражении expression вправо на число позиций, заданное целым числом, полученным в результате преобразования выражения shiftCount. Биты, сдвинутые за правый край, отсекаются. Для сохранения знака исходного выражения биты слева заменяются на 0, если самый значащий бит (крайний левый) выражения expression является 0, и на 1, если самый значащий бит является 1. Сдвиг значения вправо на одну позицию аналогичен делению на 2 и отсечению остатка.

Число с плавающей запятой преобразуется в целое число путем отсечения всех цифр после десятичной запятой. Положительное целое число преобразуется в шестнадцатеричное значение без знака величиной максимум 4294967295 или 0xFFFFFFFF. У значения, превышающего максимальную величину, при преобразовании отсекаются значащие цифры так, что значение все равно становится 32-разрядным. Отрицательное целое число преобразуется в шестнадцатеричное значение без знака в написании с дополнением до двух величиной минимум -2147483648 или 0x800000000. Число меньше минимальной величины преобразуется в число с дополнением до двух с большей точностью перед отсечением значащих цифр.

Результат интерпретируется как 32-разрядное число с дополнением до двух, поэтому результатом является целое число в диапазоне от -2147483648 до 2147483647.

Операнд
expression:Number — Число или выражение, к которому применяется сдвиг вправо.
shiftCount:Number — Число или выражение, преобразуемое в целое число от 0 до 31.

Результат
int — Результат побитовой операции.

Пример
Как пользоваться примерами
В следующем примере число 65535 преобразуется в 32-разрядное целое число и сдвигается на 8 позиций вправо, в результате чего получается значение 255:
var a:Number = 65535 >> 8; 
trace(a); // 255
Это происходит потому, что десятичное число 65535 равно двоичному числу 00000000000000001111111111111111 (16 нолей, за которыми следуют 16 единиц); при сдвиге вправо на 8 позиций 8 наименее значащих битов (крайних правых) отсекаются. Так как 65535 является положительным числом, освободившиеся в результате сдвига позиции (8 крайних левых позиций) заменяются на 0. Результатом является двоичное число 00000000000000000000000011111111 (24 ноля, за которыми следуют 8 единиц), представляющее собой 32-разрядное целое число 255.
    двоичное 00000000000000001111111111111111 (десятичное 65535)
>>                                 десятичное 8
--------------------
    двоичное 00000000000000000000000011111111 (десятичное 255)
В следующем примере число -8 преобразуется в 32-разрядное целое число и сдвигается на 1 позицию вправо, в результате чего получается десятичное значение -4:
var a:Number = -8 >> 1;
trace(a); // -4
Это происходит потому, что десятичное число -8 равно двоичному числу 11111111111111111111111111111000 (29 единиц, за которыми следуют три ноля); при сдвиге вправо на 1 позицию наименее значащий бит (крайний правый) отсекается. Так как -8 является отрицательным числом, освободившаяся в результате сдвига позиция (1 крайняя левая позиция) заменяется на 1. В результате получается двоичное число 11111111111111111111111111111100 (30 единиц, за которыми следуют два ноля), представляющее собой 32-разрядное целое число -4.
    двоичное 11111111111111111111111111111000 (десятичное -8)
>>                                десятичное 1
--------------------
    двоичное 11111111111111111111111111111100 (десятичное -4)

См. также

>>= bitwise right shift and assignment Оператор  
Применение
expression >>= shiftCount

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Выполняет побитовый сдвиг вправо и сохраняет результат в выражении expression.

Следующие две инструкции идентичны:

A >>= B; 
A = (A >> B);

Операнд
expression:Number — Число или выражение, к которому применяется сдвиг вправо.
shiftCount:Number — Число или выражение, преобразуемое в целое число от 0 до 31.

Результат
int — Результат побитовой операции.

Пример
Как пользоваться примерами
В следующем коде используется оператор побитового сдвига вправо с присваиванием (>>=):
function convertToBinary(numberToConvert:Number):String { 
    var result:String = ""; 
    for (var i = 0; i < 32; i++) { 
        // Извлечение наименее значащего бита при помощи побитового AND. 
        var lsb:Number = numberToConvert & 1; 
        // Добавление этого бита в результат.
        result = (lsb ? "1" : "0")+result; 
        // Сдвиг numberToConvert вправо на один бит, чтобы увидеть следующий бит. 
        numberToConvert >>= 1; 
    } 
    return result; 
} 
trace(convertToBinary(479)); 
// Возвращает строку 00000000000000000000000111011111. 
// Эта строка является двоичным представлением десятичного числа 479.

См. также

>>> bitwise unsigned right shift Оператор  
Применение
expression >>> shiftCount

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Аналогичен оператору побитового сдвига вправо (>>) за исключением того, что он не сохраняет знак исходного выражения, поскольку биты слева всегда заполняются нулями (0).

Число с плавающей запятой преобразуется в целое число путем отсечения всех цифр после десятичной запятой. Положительное целое число преобразуется в шестнадцатеричное значение без знака величиной максимум 4294967295 или 0xFFFFFFFF. У значения, превышающего максимальную величину, при преобразовании отсекаются значащие цифры так, что значение все равно становится 32-разрядным. Отрицательное целое число преобразуется в шестнадцатеричное значение без знака в написании с дополнением до двух величиной минимум -2147483648 или 0x800000000. Число меньше минимальной величины преобразуется в число с дополнением до двух с большей точностью перед отсечением значащих цифр.

Результат интерпретируется как 32-разрядное целое число без знака, поэтому результатом является целое число в диапазоне от 0 до 4294967295.

Примечание. В ActionScript отсутствует дополнительный оператор "побитовый сдвиг влево без знака", но можно достичь того же эффекта при помощи uint(expression << shiftCount).

Операнд
expression:Number — Число или выражение, к которому применяется сдвиг вправо.
shiftCount:Number — Число или выражение, преобразуемое в целое число от 0 до 31.

Результат
uint — Результат побитовой операции.

Пример
Как пользоваться примерами
В следующем примере число -1 преобразуется в 32-разрядное целое число и сдвигается на 1 позицию вправо:
var a:Number = -1 >>> 1; 
trace(a); // 2147483647 
Это происходит потому, что десятичное число -1 равно двоичному числу 11111111111111111111111111111111 (32 единицы), и при сдвиге вправо (без знака) на 1 бит наименее значащий бит (крайний правый) отсекается, а самый значащий бит (крайний левый) заменяется на 0. В результате получается двоичное число 01111111111111111111111111111111, представляющее собой 32-разрядное целое число 2147483647.

См. также

>>>= bitwise unsigned right shift and assignment Оператор  
Применение
expression >>>= shiftCount

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Выполняет побитовый сдвиг вправо без знака и сохраняет результат в выражении expression. Следующие две инструкции идентичны:

A >>>= B; 
A = (A >>> B); 

Операнд
expression:Number — Число или выражение, к которому применяется сдвиг вправо.
shiftCount:Number — Число или выражение, преобразуемое в целое число от 0 до 31.

Результат
uint — Результат побитовой операции.

Пример
Как пользоваться примерами
В следующем примере число -1 преобразуется в 32-разрядное целое число и сдвигается на 1 позицию вправо:
var a:Number = -1;
a >>>= 1; 
trace(a); // 2147483647 
Это происходит потому, что десятичное число -1 равно двоичному числу 11111111111111111111111111111111 (32 единицы), и при сдвиге вправо (без знака) на 1 бит наименее значащий бит (крайний правый) отсекается, а самый значащий бит (крайний левый) заменяется на 0. В результате получается двоичное число 01111111111111111111111111111111, представляющее собой 32-разрядное целое число 2147483647.

См. также

^ bitwise XOR Оператор  
Применение
expression1 ^ expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Преобразует expression1 и expression2 в 32-разрядные целые числа без знака и ставит 1 в позиции каждого бита, где соответствующие биты в expression1 или expression2 (но не в обоих выражениях) равны 1.

Число с плавающей запятой преобразуется в целое число путем отсечения всех цифр после десятичной запятой. Положительное целое число преобразуется в шестнадцатеричное значение без знака величиной максимум 4294967295 или 0xFFFFFFFF. У значения, превышающего максимальную величину, при преобразовании отсекаются значащие цифры так, что значение все равно становится 32-разрядным. Отрицательное целое число преобразуется в шестнадцатеричное значение без знака в написании с дополнением до двух величиной минимум -2147483648 или 0x800000000. Число меньше минимальной величины преобразуется в число с дополнением до двух с большей точностью перед отсечением значащих цифр.

Результат интерпретируется как 32-разрядное число с дополнением до двух, поэтому результатом является целое число в диапазоне от -2147483648 до 2147483647.

Операнд
expression1:Number — Число или выражение, принимающие числовое значение.
expression2:Number — Число или выражение, принимающие числовое значение.

Результат
int — Результат побитовой операции.

Пример
Как пользоваться примерами
В следующем примере используется побитовый оператор XOR с десятичными числами 15 и 9, а результат присваивается переменной a:
// десятичное 15 = двоичное 1111 
// десятичное 9 = двоичное 1001 
var a:Number = 15 ^ 9; 
trace(a); 
// 1111 ^ 1001 = 0110 
// возвращает десятичное 6 (двоичное 0110) 

См. также

^= bitwise XOR assignment Оператор  
Применение
expression1 ^= expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Присваивает выражению expression1 значение выражения expression1 ^ expression2. Например, следующие две инструкции идентичны:

x ^= y 
x = x ^ y 

Операнд
expression1:Number — Число или выражение, принимающие числовое значение.
expression2:Number — Число или выражение, принимающие числовое значение.

Результат
int — Результат побитовой операции.

Пример
Как пользоваться примерами
Следующий пример иллюстрирует побитовую операцию XOR с присваиванием (^=):
// десятичное 15 = двоичное 1111 
var a:Number = 15; 
// десятичное 9 = двоичное 1001 
var b:Number = 9; 
trace(a ^= b); // возвращает десятичное 6 (двоичное 0110) 

См. также

/*..*/ block comment delimiter Оператор  
Применение
/* комментарий */
/* комментарий
   комментарий */

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Отделяет одну или несколько строк комментариев в сценарии. Символы, расположенные между открывающим разделителем (/*) и закрывающим разделителем (*/), воспринимаются как комментарий и игнорируются компилятором ActionScript. Используйте эти разделители для идентификации комментариев, расположенных на нескольких последовательных строках; для однострочных комментариев используйте разделитель //.

При опущении закрывающего разделителя блока комментариев (*/) или при попытке вложить комментарий появится сообщение об ошибке. После использования открывающего разделителя (/*) первый закрывающий разделитель (*/) заканчивает комментарий независимо от количества открывающих разделителей, расположенных перед ним.

Операнд
comment:* — Любые символы.

Пример
Как пользоваться примерами
В следующем сценарии используются разделители блока комментариев в начале сценария:
/* записывает положение X и Y 
фрагментов роликов ball и bat */ 
var ballX:Number = ball_mc._x; 
var ballY:Number = ball_mc._y; 
var batX:Number = bat_mc._x; 
var batY:Number = bat_mc._y; 
Следующая попытка вложить комментарий приводит к появлению сообщения об ошибке:
/* Это попытка вложить комментарий. 
/* Но первый закрывающий тег будет соотнесен 
с первым открывающим тегом */ 
и этот текст не будет воспринят как комментарий */ 

См. также

{ } braces (XML) Оператор  
Применение
 myXML = <{tagName} {attributeName} = {attributeValue}>{content}</{tagName}>

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Вычисляет выражение, которое используется в инициализаторе XML или XMLList. Инициализатор XML или XMLList является литеральным значением, которое присваивается переменной типа XML или XMLList. Выражение, заключенное между XML-операторами { и } может использоваться в инициализаторе XML или XMLList вместо литеральных имен или значений. Выражение можно использовать вместо tagName, attributeName, attributeValue и content.

Операнд
myXML:* — Объект XML или XMLList.
tagName:* — Выражение, результатом вычисления которого является имя тега XML.
attributeName:* — Выражение, результатом вычисления которого является имя атрибута XML.
attributeValue:* — Выражение, результатом вычисления которого является значение атрибута XML.
content:* — Выражение, результатом вычисления которого является содержимое тега XML.

Пример
Как пользоваться примерами
Следующий пример иллюстрирует использование операторов { и } при определении литерала XML:
var tagname:String = "item"; 
var attributename:String = "id"; 
var attributevalue:String = "5"; 
var content:String = "Chicken"; 
var x:XML = <{tagname} {attributename}={attributevalue}>{content}</{tagname}>; 
trace(x.toXMLString()); // <item id="5">Chicken</item>

См. также

[ ] brackets (XML) Оператор  
Применение
 myXML[expression]

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Обращается к свойству или атрибуту объекта XML или XMLList. Оператор "квадратные скобки" обеспечивает доступ к именам свойств, к которым нельзя получить доступ при помощи оператора "точка" (.).

Операнд
myXML:* — Объект XML или XMLList.
expression:* — Выражение, результатом вычисления которого является имя тега или атрибута XML.

Пример
Как пользоваться примерами
Следующий пример иллюстрирует использование операторов [ и ] для доступа к свойству XML, к которому невозможно получить доступ при помощи оператора "точка" из-за дефиса в имени тега:
var myXML:XML = <a><foo-bar>44</foo-bar></a>;
trace(myXML["foo-bar"]);

См. также

, comma Оператор  
Применение
(expression1, expression2[, expressionN... ])

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Вычисляет expression1, затем expression2 и т. д. Данный оператор в основном используется с инструкцией цикла for и часто используется с оператором "круглые скобки" ().

Операнд
expression1:* — Вычисляемое выражение.
expression2:* — Вычисляемое выражение.
expressionN:* — Любое число дополнительных вычисляемых выражений.

Результат
Object — Значения вычисленных выражений.

Пример
Как пользоваться примерами
В следующем примере используется оператор-запятая (,) в цикле for:
for (i = 0, j = 0; i < 3 && j < 3; i++, j+=2) { 
    trace("i = " + i + ", j = " + j); 
} 
// вывод: 
// i = 0, j = 0 
// i = 1, j = 2
В следующем примере оператор "запятая" используется без оператора "круглые скобки" для иллюстрации того, что оператор "запятая" имеет более низкий приоритет, чем оператор присваивания (=):
var v:Number = 0; 
v = 4, 5, 6; 
trace(v); // 4 
В следующем примере оператор "запятая" используется с круглыми скобками и иллюстрирует то, что оператор "запятая" возвращает значение последнего выражения:
var v:Number = 0; 
v = (4, 5, 6); 
trace(v); // 6 
В следующем примере оператор "запятая" используется без круглых скобок и иллюстрирует то, что оператор "запятая" обуславливает последовательное вычисление выражений: Первое выражение, v + 4, присваивается переменной v, так как приоритет оператора присваивания (=) выше приоритета оператора "запятая". Второе выражение, z++, вычисляется, и z увеличивается на единицу.
var v:Number = 0; 
var z:Number = 0; 
v = v + 4 , z++, v + 6; 
trace(v); // 4 
trace(z); // 1 
Следующий пример аналогичен предыдущему, но в нем используются круглые скобки, которые меняют порядок операций так, что оператор "запятая" вычисляется раньше оператора присваивания (=):
var v:Number = 0; 
var z:Number = 0; 
v = (v + 4, z++, v + 6); 
trace(v); // 6 
trace(z); // 1 

См. также

+ concatenation Оператор  
Применение
expression1 + expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Сцепляет (объединяет) строки. Если одно выражение является строкой, все другие выражения преобразуются в строки и сцепляются.

Если оба выражения являются числами, данный оператор выполняет функцию оператора сложения.

Операнд
expression1:String — Сцепляемая строка.
expression2:String — Сцепляемая строка.

Результат
String — Сцепленная строка.

Пример
Как пользоваться примерами
В следующем примере сцепляются две строки.
var lastName:String = "Cola"; 
var instrument:String = "Drums"; 
trace(lastName + " plays " + instrument); // Cola plays Drums 
Данный пример показывает, что если одно выражение является строкой, все другие выражения преобразуются в строки и сцепляются:
trace("Number " + 8 + 0); // Number 80
Данный пример показывает, что числовая сумма справа от строкового выражения не вычисляется, так как числа преобразуются в строки:
var a:String = 3 + 10 + "asdf"; 
trace(a); // 13asdf 
var b:String = "asdf" + 3 + 10; 
trace(b); // asdf310 

См. также

+ concatenation (XMLList) Оператор  
Применение
expression1 + expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Сцепляет (объединяет) значения XML или XMLList дл образования объекта XMLList. Объект XMLList образуется, только если оба операнда являются значениями XML или XMLList.

Операнд
expression1:* — Значение XML или XMLList.
expression2:* — Значение XML или XMLList.

Результат
XMLList — Сцепленный объект XMLList.

Пример
Как пользоваться примерами
Следующий пример иллюстрирует использование оператора XMLList (+) (сцепление):
var x1:XML = 
        <employee id = "42">
            <firstName>Joe</firstName>
            <lastName>Smith</lastName>
        </employee>;

var x2:XML = 
        <employee id = "43">
            <firstName>Susan</firstName>
            <lastName>Jones</lastName>
        </employee>;

var myXMLList:XMLList = x1 + x2;
    
trace(myXMLList.toXMLString()); 

Инструкция trace выводит следующий результат:

<employee id = "42">
    <firstName>Joe</firstName>
    <lastName>Smith</lastName>
</employee>
<employee id = "43">
    <firstName>Susan</firstName>
    <lastName>Jones</lastName>
</employee>
    

См. также

+= concatenation assignment Оператор  
Применение
expression1 += expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Присваивает выражению expression1 значение выражения expression1 + expression2. Например, следующие две инструкции имеют одинаковый результат:

x += y; 
x = x + y;
Все правила оператора сцепления (+) применимы к оператору сцепления с присваиванием (+=). Заметьте, что использование оператора сцепления с присваиванием со свойством text текстового поля TextField (т. е. someTextField.text += moreText) намного менее эффективно, чем TextField.appendText(), особенно в случае с TextField с большим объемом содержимого.

Операнд
expression1:String — Строка.
expression2:String — Строка.

Результат
Number — Результат сцепления.

Пример
Как пользоваться примерами
В данном примере используется оператор += со строковым выражением:
var x1:String = "My name is "; 
x1 += "Gilbert"; 
trace(x1); // My name is Gilbert 

См. также

+= concatenation assignment (XMLList) Оператор  
Применение
expression1 += expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Присваивает выражению expression1, которое является объектом XMLList, значение выражения expression1 + expression2. Например, следующие две инструкции имеют одинаковый результат:

x += y; 
x = x + y;
Все правила оператора сцепления XMLList (+) применимы к оператору сцепления XMLList с присваиванием (+=).

Операнд
expression1:XMLList — Объект XMLList, к которому прибавляется новое значение.
expression2:* — Значение XML или XMLList.

Пример
Как пользоваться примерами
Следующий пример иллюстрирует использование оператора сцепления XMLList с присваиванием (+=):
var x1:XML = <location>Athens</location>;    
var x2:XML = <location>Paris</location>;        
myXMLList = x1 + x2;

var x3:XML = <location>Springfield</location>;
myXMLList += x3;
            
trace(myXMLList.toXMLString());

Инструкция trace выводит следующий результат:

<location>Athens</location>
    
<location>Paris</location>    

<location>Springfield</location>

См. также

?: conditional Оператор  
Применение
expression1 ? expression2 : expression3

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Вычисляет expression1, и если значение expression1 равно true, результатом будет значение expression2; в противном случае результатом будет значение expression3.

Операнд
expression1:Boolean — Выражение, принимающее логическое значение; как правило, это выражение сравнения, например x < 5.
expression2:* — Значение любого типа.
expression3:* — Значение любого типа.

Результат
* — Значение expression2 или expression3.

Пример
Как пользоваться примерами
Следующая инструкция присваивает значение переменной x переменной z, так как первое выражение принимает значение true:
var x:Number = 5; 
var y:Number = 10; 
var z = (x < 6) ? x: y; 
trace(z); // возвращает 5
Следующий пример иллюстрирует сокращенное написание условного выражения:
var timecode:String = (new Date().getHours() < 11) ? "AM" : "PM"; 
trace(timecode); 
То же условное выражение может быть написано полностью, как в следующем примере:
if (new Date().getHours() < 11) { 
    var timecode:String = "AM"; 
} else { 
    var timecode:String = "PM"; 
}
trace(timecode); 

См. также

-- decrement Оператор  
Применение
--expression
expression--

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Вычитает 1 из значения операнда. Операндом может быть переменная, элемент массива или свойство объекта. Предекрементная форма оператора (--expression) вычитает 1 из expression и возвращает результат. Постдекрементная форма оператора (expression--) вычитает 1 из expression и возвращает исходное значение expression (значение до вычитания).

Операнд
expression:Number — Число или переменная, принимающие числовое значение.

Результат
Number — Результат уменьшенного значения.

Пример
Как пользоваться примерами
Предекрементная форма оператора уменьшает значение x до 2 (x - 1 = 2) и возвращает результат как y:
var x:Number = 3; 
var y:Number = --x; // y равно 2
Постдекрементная форма оператора уменьшает значение x до 2 (x - 1 = 2) и возвращает исходное значение x в виде результата y:
var x:Number = 3; 
var y:Number = x--; // y равно 3
Далее приводится пример цикла от 10 до 1, и при каждой итерации цикла значение переменной i уменьшается на 1:
for (var i = 10; i > 0; i--) { 
    trace(i); 
}

См. также

delete Оператор  
Применение
 delete reference

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Удаляет свойство объекта, заданное параметром reference. Результатом является значение true, если свойство не существует после завершения операции, в противном случае - false. Оператор delete возвращает true, если вызывается для несуществующего свойства или динамического свойства, не определенного в классе.

Оператор delete может возвратить значение false, если параметр reference не может быть удален. Невозможно удалить фиксированные свойства или переменные, объявленные при помощи инструкции var. Фиксированным свойством является переменная или метод, заявленные в определении класса.

Оператор delete нельзя использовать для удаления свойства класса, если этот класс не является динамическим классом, добавляемым во время выполнения. Свойства защищенных классов невозможно удалить при помощи оператора delete. Вместо этого установите свойство на значение null.

Примечание. Объект удалить невозможно, но можно подготовить объект для сборки мусора, удалив все ссылки на него. Типичной ссылкой на объект является указывающая на него переменная. Такую ссылку можно удалить, установив переменную на значение null. Сборщик мусора удаляет любой объект, на который нет ни одной ссылки.

Операнд
reference:* — Имя удаляемого свойства.

Результат
Boolean — Значение true в случае успешного удаления, иначе значение false.

Пример
Как пользоваться примерами
Далее приводится пример удаления свойства объекта:
// создание нового объекта "account" 
var account:Object = new Object(); 
// присваивание свойства name объекту account 
account.name = "Jon"; 
// удаление свойства 
delete account.name; 
trace(account.name); // undefined

// удаление несуществующего свойства
var fooDeleted:Boolean = delete account.foo;
trace(fooDeleted); // true

В следующем примере удаляется значение элемента массива, но значение свойства length не изменяется:

var my_array:Array = new Array(); 
my_array[0] = "abc"; // my_array.length == 1 
my_array[1] = "def"; // my_array.length == 2 
my_array[2] = "ghi"; // my_array.length == 3 
// my_array[2] удален, но Array.length не изменяется 
delete my_array[2]; 
trace(my_array.length); // 3 
trace(my_array); // abc,def,

В следующем примере показано, как можно использовать возвращенное в результате выполнения операции delete логическое значение в качестве условия для последующего выполнения кода. Заметьте, что если элемент был уже удален, повторный вызов оператора delete для этого элемента возвратит значение false.

var my_array:Array = [ "abc", "def", "ghi" ];
var deleteWasSuccessful:Boolean

deleteWasSuccessful = delete my_array[0];
if(deleteWasSuccessful) delete my_array[1];
deleteWasSuccessful = delete my_array[0];
if(deleteWasSuccessful) delete my_array[2];

trace(my_array) // вывод: undefined,undefined,ghi

См. также

delete (XML) Оператор  
Применение
 delete reference

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Удаляет элементы или атрибуты XML, заданные параметром reference.

При использовании с операндом XMLList результатом оператора delete всегда является значение true, так как операнд XMLList всегда ссылается на действительный объект (хотя, возможно, и пустой) XMLList.

Операнд
reference:XMLList — Объект XMLList, указывающий на элементы или атрибуты XML, которые нужно удалить.

Результат
Boolean — Значение true в случае успешного удаления, иначе значение false.

Пример
Как пользоваться примерами
Следующий пример иллюстрирует удаление атрибута, затем удаление одного элемента, затем удаление нескольких элементов:
 
var x1:XML = <x1>
                <a id = "52">AYY</a>
                <a>AYY 2 </a>
                <b>BEE</b>
                <c>CEE</c>
            </x1>;

trace(x1.toXMLString());
trace("___________");

delete x1.a.@id;

trace(x1.toXMLString());
trace("___________");

delete x1.b;

trace(x1.toXMLString());
trace("___________");

delete x1.a;

trace(x1.toXMLString());

Результатом будет следующее:

<x1>
  <a id="52">AYY</a>
  <a>AYY 2</a>
  <b>BEE</b>
  <c>CEE</c>
</x1>
___________
<x1>
  <a>AYY</a>
  <a>AYY 2</a>
  <b>BEE</b>
  <c>CEE</c>
</x1>
___________
<x1>
  <a>AYY</a>
  <a>AYY 2</a>
  <c>CEE</c>
</x1>
___________
<x1>
  <c>CEE</c>
</x1>

Следующий пример иллюстрирует удаление всего содержимого элемента, включая атрибуты и дочерние элементы, без удаления самого элемента:
 
var xml:XML = 
            <order>
                <item id="121">hamburger</item>
                <item id="122">fries</item>
                <item id="123">chocolate shake</item>
            </order>;
delete xml.item[1].*;
delete xml.item[1].@*;
trace(xml);

Результатом данного примера будет следующее:

<order>
  <tem id="121">hamburger</item>
  <item/>
  <item id="123">chocolate shake</item>
</order>

.. descendant accessor Оператор  
Применение
 myXML..childElement1..@attributeName 

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Обеспечивает навигацию к потомкам объекта XML или XMLList, либо (в сочетании с оператором @) находит соответствующие атрибуты потомков. Соответствующие элементы или атрибуты не обязательно должны быть прямыми потомками объекта XML или XMLList (дочерними объектами первого уровня); они могут располагаться на более низком уровне дерева (например, быть дочерними объектами второго уровня). Результатом является объект XMLList, так как может совпадать несколько дочерних элементов или атрибутов.

Порядок узлов в возвращенном объекте XMLList является результатом обхода в глубину. Например:

var myXML:XML = <a>
			<b>one
				<c> 
					<b>two</b> 
				</c> 
			</b>
			<b>three</b>
		</a>;

trace(myXML..b[0].toXMLString());
trace("______________");
trace(myXML..b[1].toXMLString());
trace("______________");
trace(myXML..b[2].toXMLString());

Результатом будет следующее:

<b>
  one
  <c>
    <b>two</b>
  </c>
</b>
______________
<b>two</b>
______________
<b>three</b>

Для возврата потомков, имена которых совпадают с именами зарезервированных слов ActionScript, используйте метод XML.descendants() вместо оператора доступа к потомкам (..), как показано в следующем примере:

var xml:XML = 
<enrollees>
	<student id="239">
		<class name="Algebra" />
 		<class name="Spanish 2"/>
	</student>
	<student id="206">
		<class name="Trigonometry" />
 		<class name="Spanish 2" />
	</student>
 </enrollees>;
 trace(xml.descendants("class")); 
 

Операнд
myXML:Object — Объект XML или XMLList.
childElement1_or_attributeName — Имя свойства XML или имя атрибута.

Пример
Как пользоваться примерами
Следующий пример иллюстрирует использование оператора доступа к потомкам (..) для возврата потомков объекта XML и возврата атрибута элемента:
var myXML:XML = 
    <employees>
        <employee id = "42">
            <firstName>Billy</firstName>
            <lastName>Einstein</lastName>
        </employee>
        <employee id = "43">
            <firstName>Sally</firstName>
            <lastName>Shostakovich</lastName>
        </employee>
    </employees>
    
trace(myXML..firstName); 
    // <firstName>Billy</firstName>
    // <firstName>Sally</firstName>
                
trace(myXML..@id); //4243

См. также

/ division Оператор  
Применение
expression1 / expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Делит expression1 на expression2. Результатом операции деления является число с плавающей запятой двойной точности.

Операнд
expression:Number — Число или переменная, принимающие числовое значение.

Результат
Number — Значение с плавающей запятой как результат операции.

Пример
Как пользоваться примерами
Следующий пример показывает, что результат деления на 0 будет разным в зависимости от того, является ли делимое положительным числом, отрицательным числом или 0.
trace(3/0);   // Бесконечность
trace(-3/0);  // Минус бесконечность
trace(0/0);   // NaN

См. также

/= division assignment Оператор  
Применение
expression1 /= expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Присваивает выражению expression1 значение выражения expression1 / expression2. Например, следующие две инструкции идентичны:

x /= y; 
x = x / y;

Операнд
expression1:Number — Число или переменная, принимающие числовое значение.
expression2:Number — Число или переменная, принимающие числовое значение.

Результат
Number — Число.

Пример
Как пользоваться примерами
Следующий код иллюстрирует использование оператора деления с присваиванием (/=) с переменными и числами:
var a:Number = 10; 
var b:Number = 2; 
a /= b; trace(a); // 5 

См. также

. dot Оператор  
Применение
object.property_or_method

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Обеспечивает доступ к переменным и методам класса, определяет и задает свойства объектов и разделяет импортированные пакеты или классы.

Операнд
object:Object — Экземпляр класса. Объект может быть экземпляром любого встроенного класса ActionScript или определенного вами класса. Этот операнд всегда стоит слева от оператора "точка" (.).
property_or_method:* — Имя свойства и метода, связанного с объектом. Все допустимые методы и свойства встроенных классов перечислены в сводных таблицах методов и свойств этого класса. Этот операнд всегда стоит справа от оператора "точка" (.).

Результат
* — Переменная, метод или свойство, указанные справа от точки.

Пример
Как пользоваться примерами
В следующем примере оператор "точка" используется в качестве разделителя при импорте класса Timer.
import flash.utils.Timer;
В следующем примере создается типовой объект, и оператор "точка" используется для добавления нового свойства.
var obj:Object = new Object();
obj.propertyA = "hello";
trace(obj.propertyA);  // hello

См. также

. dot (XML) Оператор  
Применение
myXML.childElement
myXML.@attributeName 

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Обеспечивает навигацию к дочерним элементам объекта XML или XMLList, либо (в сочетании с оператором @) возвращает атрибуты объекта XML или XMLList. Возвращаемым объектом является XMLList, так как может совпадать несколько дочерних элементов или атрибутов.

Для возврата элементов, имена которых совпадают с именами зарезервированных слов ActionScript используйте метод XML.elements() или метод XML.descendants() вместо оператора XML "точка" (.), как показано в следующем примере:

var xml:XML = 
	<student id="206">
		<class name="Trigonometry" />
		<class name="Spanish 2" />
	</student>;
trace(xml.elements("class"));
trace(xml.descendants("class")); 

Операнд
myXML:Object — Объект XML или XMLList.
childElement:* — Имя свойства XML.
attributeName:* — Имя атрибута.

Результат
XMLList — Заданный XMLList.

Пример
Как пользоваться примерами
Следующий пример иллюстрирует использование оператора "точка" (.) для возврата дочернего элемента объекта XML и возврата атрибута элемента:
var myXML:XML = 
    <employee id = "42">
        <firstName>Billy</firstName>
        <lastName>Einstein</lastName>
    </employee>;

trace(myXML.firstName); // Billy
trace(myXML.@id);       // 42

См. также

== equality Оператор  
Применение
expression1 == expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Проверяет равенство двух выражений. Если выражения равны, результатом будет значение true.

Если типы данных двух операндов совпадают, определение равенства зависит от типа данных операндов:

Если типы данных операндов не совпадают, результатом будет значение false, за исключением следующих случаев:

Операнд
expression1:Object — Число, строка, логическое значение, переменная, объект, массив или выражение.
expression2:Object — Число, строка, логическое значение, переменная, объект, массив или выражение.

Результат
Boolean — Значение true, если выражения равны, иначе значение false.

Пример
Как пользоваться примерами
В следующем примере используется оператор равенства (==) с инструкцией if:
var a:String = "David"
var b:String = "David"; 
if (a == b) { 
    trace("David is David"); 
}
Следующие примеры иллюстрируют автоматическое преобразование типов при помощи оператора равенства при сравнении по значению. Строковые значения преобразуются в числа:
var a:Number = 5; 
var b:String = "5"; 
trace(a == b); // true
Логические значения преобразуются в числа, т. е. значение true преобразуется в 1, а false - в 0:
var c:Number = 1; 
var d:Boolean = true; 
trace(c == d); // true
var e:Number = 0; 
var f:Boolean = false; 
trace(e == f); // true
Однако строковые значения не преобразуются в логические, поэтому следующий код возвращает значение false:
var g:String = "true";
var h:Boolean = true;
trace(g == h); // false
Следующие примеры иллюстрируют сравнение по ссылке. Первый пример иллюстрирует сравнение двух массивов одинаковой длины и с идентичными элементами. Оператор равенства возвращает значение false при сравнении этих двух массивов. Хотя массивы идентичны, при сравнении по ссылке необходимо, чтобы и переменная firstArray, и переменная secondArray ссылались на один и тот же массив. Во втором примере создается переменная thirdArray, которая указывается на тот же массив, что и переменная firstArray. Оператор равенства возвращает значение true при сравнении этих двух массивов, так как обе переменные ссылаются на один и тот же массив.
var firstArray:Array = new Array("one", "two", "three"); 
var secondArray:Array = new Array("one", "two", "three"); 
trace(firstArray == secondArray); // false 
/* Массивы считаются равными, только 
если переменные ссылаются на один и тот же массив. */
var thirdArray:Array = firstArray; 
trace(firstArray == thirdArray); // true 

См. также

> greater than Оператор  
Применение
expression1 > expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Сравнивает два выражения. Если выражение expression1 больше выражения expression2, то результатом будет значение true. Если выражение expression1 меньше или равно выражению expression2, результатом будет false.

Если оба операнда относятся к типу String, операнды сравниваются в алфавитном порядке; все прописные буквы идут перед строчными. В противном случае операнды сначала преобразуются в числа, затем сравниваются.

Операнд
expression1:Object — Строка, целое число или число с плавающей запятой.
expression2:Object — Строка, целое число или число с плавающей запятой.

Результат
Boolean — Значение true, если выражение expression1 больше выражения expression2, в противном случае - false.

Пример
Как пользоваться примерами
Следующий пример показывает, что строки сравниваются по алфавиту, когда прописные буквы предшествуют строчным:
var a:String = "first";
var b:String = "First";
trace(a > b); // true
Следующий пример иллюстрирует преобразование значений типа String и Boolean в числа:
var c:Number = 5;
var d:String = "4";
trace(c > d); // true

var e: Number = 2;
var f:Boolean = true;
trace(e > f); // true

>= greater than or equal to Оператор  
Применение
expression1 >= expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Сравнивает два выражения. Если выражение expression1 больше или равно выражению expression2, то результатом будет значение true, а если выражение expression1 меньше выражения expression2, то результатом будет значение false.

Операнд
expression1:Object — Строка, целое число или число с плавающей запятой.
expression2:Object — Строка, целое число или число с плавающей запятой.

Результат
Boolean — Значение true, если выражение expression1 больше или равно выражению expression2, в противном случае - false.

Пример
Как пользоваться примерами
В следующем примере при помощи оператора "больше или равно" (>=) определяется, является ли текущий час большим или равным 12:
if (new Date().getHours() >= 12) { 
    trace("good afternoon"); 
} else { 
    trace("good morning"); 
}

См. также

in Оператор  
Применение
expression1 in expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Проверяет, является ли свойство частью определенного объекта. Для использования оператора in укажите имя свойства в качестве первого операнда и объект в качестве второго операнда. Если указанный объект содержит данное свойство, результатом будет значение true; в противном случае - false.

Если указанный объект является объектом Array, оператор in можно использовать, чтобы проверить действительность определенного номера индекса. При передаче целого числа в качестве первого операнда результатом будет true, если индекс входит в допустимый диапазон номеров индексов, в противном случае - false.

Результат
Boolean — Значение true, если выражение expression1 является свойством объекта, представленного выражением expression2, в противном случае - false.

Пример
Как пользоваться примерами
В следующем примере используется оператор in, чтобы показать, что PI является свойством объекта Math, а myProperty - нет.
trace("PI" in Math);         // true
trace("myProperty" in Math); // false

В следующем примере оператор in используется для того, чтобы показать, что числа 0, 1 и 2 являются действительными номерами индексов в объекте myArray, а номер 3 - нет.

public var myArray:Array = ["zero", "one", "two"];
trace(0 in myArray); // true
trace(1 in myArray); // true
trace(2 in myArray); // true
trace(3 in myArray); // false

См. также

++ increment Оператор  
Применение
++expression
 expression++

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Прибавляет 1 к выражению. Выражением может быть переменная, элемент массива или свойство объекта. Преинкрементная форма оператора (++expression) прибавляет 1 к expression и возвращает результат. Постинкрементная форма оператора (expression++) прибавляет 1 к expression и возвращает исходное значение выражения expression (значение до сложения).

Операнд
expression:Number — Число или переменная, принимающие числовое значение.

Результат
Number — Результат увеличения значения.

Пример
Как пользоваться примерами
В следующем примере используется преинкрементная форма оператора ++ в цикле while для иллюстрации того, что к массиву прибавляется увеличенное на единицу значение:
var preInc:Array = new Array(); 
var i:int = 0; 
while (i < 10) { 
    preInc.push(++i); 
} 
trace(preInc); // 1,2,3,4,5,6,7,8,9,10 
В следующем примере используется постинкрементная форма оператора ++ в цикле while для иллюстрации того, что к массиву прибавляется исходное значение:
 
var postInc:Array = new Array(); 
var i:int = 0; 
while (i < 10) { 
   postInc.push(i++); 
} 
trace(postInc); // 0,1,2,3,4,5,6,7,8,9 
В следующем примере используется постинкрементная форма оператора ++ для того, чтобы цикл while выполнялся пять раз:
var i:int = 0; 
while (i++ < 5) { 
    trace("this is execution " + i); 
} 
/* вывод: 
   this is execution 1 
   this is execution 2 
   this is execution 3 
   this is execution 4 
   this is execution 5 
*/

См. также

!= inequality Оператор  
Применение
expression1 != expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Проверяет на прямую противоположность оператору равенства (==). Если expression1 равно expression2, результатом будет false. Как и в случае с оператором равенства (==), определение равенства зависит от сравниваемых типов данных.

Если типы данных двух операндов совпадают, определение равенства зависит от типа данных операндов:

Если типы данных операндов не совпадают, оператор неравенства (!=) возвращает значение true, за исключением следующих случаев:

Операнд
expression1:Object — Число, строка, логическое значение, переменная, объект, массив или функция.
expression2:Object — Число, строка, логическое значение, переменная, объект, массив или функция.

Результат
Boolean — Значение true, если выражения не равны, иначе значение false.

Пример
Как пользоваться примерами
Следующий пример иллюстрирует результат использования оператора неравенства (!=):
trace(5 != 8); // true 
trace(5 != 5); // false 
Следующий пример иллюстрирует использование оператора неравенства (!=) в инструкции if:
var a:String = "David";
var b:String = "Fool";
if (a != b) { 
    trace("David is not a fool"); 
}
Следующий пример иллюстрирует сравнение двух функций по ссылке:
var a:Function = function() { trace("foo"); }; 
var b:Function = function() { trace("foo"); }; 
a(); // foo 
b(); // foo 
trace(a != b); // true 
a = b; 
a(); // foo 
b(); // foo 
trace(a != b); // false
Следующий пример иллюстрирует сравнение двух массивов по ссылке:
var a:Array = [ 1, 2, 3 ]; 
var b:Array = [ 1, 2, 3 ]; 
trace(a);      // 1,2,3 
trace(b);      // 1,2,3 
trace(a != b); // true 
a = b; 
trace(a);      // 1,2,3 
trace(b);      // 1,2,3 
trace(a != b); // false

См. также

instanceof Оператор  
Применение
expression instanceof function

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Проверяет, содержит ли цепочка прототипов выражения объект-прототип для function. Оператор instanceof используется для обратной совместимости с ECMAScript редакция 3 и может быть полезным для опытных программистов, которые предпочитают использовать наследование на базе прототипов с использованием функций конструктора вместо классов.

Для проверки соответствия объекта определенному типу данных используйте оператор is.

При использовании с классами оператор instanceof действует подобно оператору is, так как цепочка прототипов класса включает в себя все его суперклассы. Однако интерфейсы не включаются в цепочку прототипов, поэтому оператор instanceof всегда выдает значение false при использовании с интерфейсами, тогда как оператор is выдает значение true, если объект принадлежит классу, который реализует указанный интерфейс.

Примечание. Оператор is в ActionScript является эквивалентом оператора instanceof в Java.

Операнд
expression:Object — Объект, содержащий цепочку прототипов для вычисления.
function:Object — Объект-функция (или класс).

Результат
Boolean — Возвращает значение true, если цепочка прототипов выражения expression включает в себя объект-прототип для function, в противном случае - false.

Пример
Как пользоваться примерами
В следующем примере создается экземпляр класса Sprite с именем mySprite, и оператор instanceof используется для проверки того, включает ли в себя цепочка прототипов mySprite объекты-прототипы классов Sprite и DisplayObject. Для классов Sprite и DisplayObject выдается значение true, так как объекты-прототипы для Sprite и DisplayObject входят в цепочку прототипов mySprite.
var mySprite:Sprite = new Sprite();
trace(mySprite instanceof Sprite);        // true
trace(mySprite instanceof DisplayObject); // true
В следующем примере используется интерфейс IBitmapDrawable для иллюстрации того, что оператор instanceof не работает с интерфейсами. Оператор is возвращает значение true, так как класс DisplayObject, который является суперклассом класса Sprite, реализует интерфейс IBitmapDrawable.
var mySprite:Sprite = new Sprite();
trace(mySprite instanceof IBitmapDrawable); // false
trace(mySprite is IBitmapDrawable);         // true

См. также

is Оператор  
Применение
expression1 is expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Проверяет совместимость объекта с определенным типом данных, классом или интерфейсом. Для сравнения типов используйте оператор is вместо оператора instanceof. Оператор is можно также использовать, чтобы проверить, реализует ли объект интерфейс.

Результат
Boolean — Значение true, если выражение expression1 совместимо с типом данных, классом или интерфейсом, указанным в выражении expression2, в противном случае - false.

Пример
Как пользоваться примерами
В следующем примере создается экземпляр класса Sprite с именем mySprite, и при помощи оператора is проверяется, является ли экземпляр mySprite экземпляром классов Sprite и DisplayObject и реализует ли он интерфейс IEventDispatcher.
import flash.display.*;
import flash.events.IEventDispatcher;

var mySprite:Sprite = new Sprite();
trace(mySprite is Sprite);           // true
trace(mySprite is DisplayObject);    // true
trace(mySprite is IEventDispatcher); // true

См. также

< less than Оператор  
Применение
expression1 < expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Сравнивает два выражения. Если выражение expression1 меньше выражения expression2, то результатом будет значение true. Если выражение expression1 больше или равно выражению expression2, результатом будет false.

Если оба операнда относятся к типу String, операнды сравниваются в алфавитном порядке; все прописные буквы идут перед строчными. В противном случае операнды сначала преобразуются в числа, затем сравниваются.

Операнд
expression1:Object — Строка, целое число или число с плавающей запятой.
expression2:Object — Строка, целое число или число с плавающей запятой.

Результат
Boolean — Значение true, если выражение expression1 меньше выражения expression2, в противном случае - false.

Пример
Как пользоваться примерами
Следующие примеры иллюстрируют результаты true и false при сравнении числовых и строковых выражений:
trace(5 < 10); // true 
trace(2 < 2);            // false 
trace(10 < 3);           // false 
trace("Allen" < "Jack"); // true 
trace("Jack" < "Allen"); // false 
trace("11" < "3");       // true 
trace("11" < 3);         // false (числовое сравнение) 
trace("C" < "abc");      // true 
trace("A" < "a");        // true 

<= less than or equal to Оператор  
Применение
expression1 <= expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Сравнивает два выражения. Если выражение expression1 меньше или равно выражению expression2 результатом будет значение true. Если выражение expression1 больше выражения expression2, результатом будет false.

Если оба операнда относятся к типу String, операнды сравниваются в алфавитном порядке; все прописные буквы идут перед строчными. В противном случае операнды сначала преобразуются в числа, затем сравниваются.

Операнд
expression1:Object — Строка, целое число или число с плавающей запятой.
expression2:Object — Строка, целое число или число с плавающей запятой.

Результат
Boolean — Значение true, если выражение expression1 меньше или равно выражению expression2, в противном случае - false.

Пример
Как пользоваться примерами
Следующие примеры иллюстрируют результаты true и false при сравнении числовых и строковых выражений:
trace(5 <= 10); // true 
trace(2 <= 2);            // true 
trace(10 <= 3);           // false 
trace("Allen" <= "Jack"); // true 
trace("Jack" <= "Allen"); // false 
trace("11" <= "3");       // true 
trace("11" <= 3);         // false (числовое сравнение) 
trace("C" <= "abc");      // true 
trace("A" <= "a");        // true 

// line comment delimiter Оператор  
Применение
// comment

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Указывает на начало комментария в сценарии. Символы, расположенные между разделителем комментариев (//) и символом конца строки, воспринимаются как комментарий и игнорируются. Данный разделитель используется для однострочных комментариев; для комментариев, занимающих несколько последовательных строк, используются разделители /* и */.

Операнд
comment:* — Любые символы.

Пример
Как пользоваться примерами
Следующий пример иллюстрирует однострочный комментарий:
// Любой текст, идущий после разделителя строчных комментариев, игнорируется во время компиляции

См. также

&& logical AND Оператор  
Применение
expression1 && expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Возвращает выражение expression1, если оно имеет значение false или может быть преобразовано в false, в противном случае возвращает выражение expression2. Значениями, которые могут быть преобразованы в false, являются 0, NaN, null и undefined. Если в качестве expression2 используется вызов функции, функция не будет вызвана, если expression1 принимает значение false.

Если оба операнда относятся к типу Boolean, результатом будет true, только если оба операнда имеют значение true, как показано в следующей таблице:

Выражение Значение
true && true true
true && false false
false && false false
false && true false

Операнд
expression1:* — Значение или выражение любого типа.
expression2:* — Значение или выражение любого типа.

Результат
* — Значение типа Boolean, если оба операнда относятся к типу Boolean. В противном случае результатом является значение любого из выражений.

Пример
Как пользоваться примерами
В следующем примере используется логический оператор AND (&&) для проверки того, выиграл ли участник игру. Переменные turns и score обновляются, когда игрок берет следующую попытку или набирает очки. Сценарий выводит строку "You Win the Game!", если игрок набирает 75 очков или больше за три попытки или меньше.
var turns:Number = 2; 
var score:Number = 77; 
if ((turns <= 3) && (score >= 75)) { 
    trace("You Win the Game!"); 
} else { 
    trace("Try Again!"); 
}

См. также

&&= logical AND assignment Оператор  
Применение
expression1 &&= expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Присваивает выражению expression1 значение выражения expression1 && expression2. Например, следующие две инструкции идентичны:

x &&= y; 
x = x && y; 

Операнд
expression1:* — Значение любого типа.
expression2:* — Значение любого типа.

Результат
* — Значение типа Boolean, если оба операнда относятся к типу данных Boolean. В противном случае результатом является значение любого из двух выражений.

Пример
Как пользоваться примерами
В следующем примере переменная myTag изменяется, если не принимает значение false. Данный метод использует свойство логического оператора AND (&&), благодаря которому возвращается значение выражения expression1, если выражение expression1 принимает значение false, в противном случае возвращается значение выражения expression2. Если переменная myTag уже содержит значение, которое может быть преобразовано в true, myVar изменяется, чтобы выглядеть, как XML-тег. Однако если myVar содержит значение, которое может быть преобразовано в false, например null, ""(пустая строка) и undefined, переменная myVar не изменяется.
var myVar:String = 'tag';
myVar &&= "<" + myVar + "/>";
trace (myVar); // вывод: <tag/>
Того же результата можно достигнуть при помощи инструкции if, как показано в следующем примере:
var myVar:String = 'tag';
if (myVar != '') {
  myVar = "<" + myVar + "/>";
}
trace (myVar); // вывод: <tag/>
Преимуществом использования инструкции if является то, что код становится более понятным, тогда как преимущество использования логического оператора AND с присваиванием (&&=) заключается в том, что не требуется указывать точное значение по умолчанию для типа данных.

См. также

! logical NOT Оператор  
Применение
!expression

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Инвертирует логическое значение переменной или выражения. Если expression является переменной с абсолютным или преобразованным значением true, то значением !expression будет false. Если выражение x && y принимает значение false, то выражение !(x && y) будет иметь значение true.

Следующие выражения иллюстрируют результат использования логического оператора NOT (!):

Операнд
expression:Boolean — Выражение или переменная, принимающие логическое значение.

Результат
Boolean — Логическое значение как результат логической операции.

Пример
Как пользоваться примерами
В следующем примере для переменной happy задается значение false. Условие if вычисляет условие !happy, и если условие имеет значение true, инструкция trace() выводит строку.
var happy:Boolean = false; 
if (!happy) { 
    trace("don't worry, be happy"); // don't worry, be happy 
} 
Инструкция trace выполняется, так как !false равно true.

См. также

|| logical OR Оператор  
Применение
expression1 || expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Возвращает выражение expression1, если оно имеет значение true или может быть преобразовано в true, в противном случае возвращает выражение expression2. Если в качестве expression2 используется вызов функции, функция не будет вызвана, если expression1 принимает значение true.

Если оба операнда относятся к типу Boolean, результатом будет true, если одно из выражений или оба выражения имеют значение true; результатом будет false, только если оба выражения имеют значение false, как показано в следующей таблице:

Выражение Значение
true || true true
true || false true
false || false false
false || true true

Операнд
expression1:* — Значение любого типа.
expression2:* — Значение любого типа.

Результат
* — Значение типа Boolean, если оба операнда относятся к типу данных Boolean. В противном случае результатом является значение любого из двух выражений.

Пример
Как пользоваться примерами
В следующем примере используется логический оператор OR (||) в инструкции if: Второе выражение принимает значение true,, поэтому окончательным результатом будет значение true:
var a:Number = 10; 
var b:Number = 250; 
var start:Boolean = false; 
if ((a > 25) || (b > 200) || (start)) { 
    trace("the logical OR test passed"); // the logical OR test passed 
} 
Сообщение "the logical OR test passed" отображается, так как одно из условий в инструкции if принимает значение true (b > 200).

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

function fx1():Boolean { 
    trace("fx1 called"); 
    return true; 
} 
function fx2():Boolean { 
    trace("fx2 called"); 
    return true; 
} 
if (fx1() || fx2()) { 
    trace("IF statement entered");
}

См. также

||= logical OR assignment Оператор  
Применение
expression1 ||= expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Присваивает выражению expression1 значение выражения expression1 || expression2. Например, следующие две инструкции идентичны:

x ||= y; 
x = x || y; 

Операнд
expression1:* — Значение любого типа.
expression2:* — Значение любого типа.

Результат
* — Значение типа Boolean, если оба операнда относятся к типу данных Boolean. В противном случае результатом является значение любого из двух выражений.

Пример
Как пользоваться примерами
В следующем примере значение по умолчанию присваивается ранее объявленной переменной с именем myVar. Данный метод использует свойство логического оператора OR (||), благодаря которому возвращается значение выражения expression1, если выражение expression1 принимает значение true, в противном случае возвращается значение выражения expression2. Если переменная myVar уже содержит значение, которое может быть преобразовано в true, то myVar не изменяется. Однако если myVar содержит значение, которое может быть преобразовано в false, например значения null, ""(пустая строка) и undefined, переменной myVar присваивается значение "default".
myVar ||= "default";

См. также

% modulo Оператор  
Применение
expression1 % expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Вычисляет остаток от деления выражения expression1 на выражение expression2. Если один из операндов не является числом, оператор остатка от деления (%) попытается преобразовать его в число.

Знак результата вычисления остатка от деления совпадает со знаком делимого (первого числа). Например, результатом вычисления обоих выражений - -4 % 3 и -4 % -3 - будет -1.

Операнд
expression1:Number — Число или выражение, принимающие числовое значение. Строка, содержащая только числовые символы, принимает числовое значение.
expression2:Number — Число или выражение, принимающие числовое значение. Строка, содержащая только числовые символы, принимает числовое значение.

Результат
Number — Результат арифметической операции.

Пример
Как пользоваться примерами
В следующем примере с числами используется оператор остатка от деления (%):
trace(12 % 5);    // 2 
trace(4,3 % 2,1);    // 0.0999999999999996 
trace(4 % 4);     // 0 
Первая запись возвращает 2, а не 12/5 или 2,4, так как оператор остатка от деления (%) возвращает только остаток. Вторая запись возвращает число 0.0999999999999996 вместо ожидавшегося 0.1 из-за ограниченной точности числа с плавающей запятой в двоичных вычислениях.

См. также

%= modulo assignment Оператор  
Применение
expression1 %= expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Присваивает выражению expression1 значение выражения expression1 % expression2. Следующие две инструкции идентичны:

x %= y; 
x = x % y; 

Операнд
expression1:Number — Число или выражение, принимающие числовое значение.
expression2:Number — Число или выражение, принимающие числовое значение.

Результат
Number — Результат арифметической операции.

Пример
Как пользоваться примерами
В следующем примере переменной a присваивается значение 4:
var a:Number = 14; 
var b:Number = 5; 
a %= b;
trace(a); // 4 

См. также

* multiplication Оператор  
Применение
expression1 * expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

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

Операнд
expression1:Number — Число или выражение, принимающие числовое значение.
expression2:Number — Число или выражение, принимающие числовое значение.

Результат
Number — Целое число или число с плавающей запятой.

Пример
Как пользоваться примерами
Следующая инструкция перемножает целые числа 2 и 3, результатом чего является целое число 6:
trace(2*3); // 6 
Данная инструкция перемножает числа с плавающей запятой 2,0 и 3,1416, в результате чего получается число 6,2832, которое также является числом с плавающей запятой:
trace(2.0 * 3.1416); // 6.2832 

См. также

*= multiplication assignment Оператор  
Применение
expression1 *= expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Присваивает выражению expression1 значение выражения expression1 * expression2. Например, следующие два выражения идентичны:

x *= y 
x = x * y 

Операнд
expression1:Number — Число или выражение, принимающие числовое значение.
expression2:Number — Число или выражение, принимающие числовое значение.

Результат
Number — Значение выражения expression1 * expression2 . Если выражение не может быть преобразовано в числовое значение, возвращается значение NaN (не число).

Пример
Как пользоваться примерами
В следующем примере переменной a присваивается значение 50:
var a:Number = 5; 
var b:Number = 10; 
trace(a *= b); // 50 
Вторая и третья строки в следующем примере вычисляют выражения справа от знака равенства и присваивают результаты переменным c и d:
var i:Number = 5; 
var c:Number = 4 - 6; 
var d:Number = i + 2; 
trace(c *= d); // -14 

См. также

:: name qualifier Оператор  
Применение
namespace::property
namespace::method()
namespace::xmlObject.property
namespace::xmlObject.@attribute

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Определяет пространство имен свойства, метода, свойства XML или атрибута XML.

Операнд
namespace:Object — Определяющее пространство имен.
propertyName:Object — Свойство, метод, свойство XML или атрибут XML для определения.

Пример
Как пользоваться примерами
В следующем примере оператор :: используется для определения двух методов с одинаковыми именами в двух различных пространствах имен:
public class NamespaceExample extends Sprite {
    public namespace French;
    public namespace Hawaiian;
    public function NamespaceExample() {
        trace(Hawaiian::hello()); // aloha
        trace(French::hello()); // bonjour
    }
    Hawaiian function hello():String {
        return "aloha";
    }

    French function hello():String { 
        return "bonjour";
    }
}
В следующем примере оператор :: используется для определения свойств XML при заданных пространствах имен:
var soap:Namespace = new Namespace("http://schemas.xmlsoap.org/wsdl/soap/");
var w:Namespace = new Namespace("http://weather.example.org/forecast");
var myXML:XML = 
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> 
     <soap:Body>
      <w:forecast xmlns:w="http://weather.example.org/forecast">
       <w:city>Quito</w:city>
       <w:country>Ecuador</w:country>
       <date>2006-01-14</date>
      </w:forecast>
      </soap:Body>
    </soap:Envelope>;
    
trace(myXML.soap::Body.w::forecast.w::city); // Quito

См. также

new Оператор  
Применение
new constructor(parameters)

Версии среды выполнения: Flash Player 5

Создает экземпляр класса. Оператор new можно использовать с классом или с переменной типа Class для создания экземпляра класса. Оператор new обычно используется с объектом класса для создания экземпляра класса. Например, инструкция new Sprite() создает экземпляр класса Sprite.

Оператор new можно также использовать, чтобы связать класс со встроенным активом, который является внешним объектом, например изображением, звуком или шрифтом, скомпилированным в SWF-файл. Каждый встроенный актив представлен уникальным классом встроенного актива. Для доступа к встроенному активу необходимо использовать оператор new, чтобы инициализировать связанный с ним класс. Впоследствии можно вызвать соответствующие методы и свойства класса встроенного актива для управления этим встроенным активом.

Если вы предпочитаете определять классы с использованием объектов Function вместо ключевого слова class, то оператор new можно использовать для создания объектов на основе функций конструктора. Не путайте функции конструктора с методами конструктора класса. Функция конструктора - это объект Function, определенный при помощи ключевого слова function, но не являющийся частью определения класса. При использовании функций конструктора для создания объектов необходимо использовать наследование от прототипа вместо наследования от класса.

Операнд
constructor:* — Класс, функция или переменная, имеющие значение типа Class.
parameters:* — Один или несколько разделенных запятой параметров.

Пример
Как пользоваться примерами
Следующий пример создает класс Book и использует оператор new для создания объектов book1 и book2.
class Book {
  var bName:String;
  var bPrice:Number;
  
  public function Book(nameParam:String, priceParam:Number){
    bName = nameParam;
    bPrice = priceParam;
  }
}

var book1:Book = new Book("Confederacy of Dunces", 19.95);
var book2:Book = new Book("The Floating Opera", 10.95);
trace(book1); // [объект Book]
В следующем примере оператор new используется для создания экземпляра класса Array с 18 элементами:
var golfCourse:Array = new Array(18);

См. также

{} object initializer Оператор  
Применение
object = {name1 : value1, name2 : value2,... nameN : valueN}

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Создает новый объект и инициализирует его с заданными парами свойств name и value. Использование данного оператора подобно использованию синтаксиса new Object и заполнению пар свойств при помощи оператора присваивания. Прототип вновь созданного объекта в общем называется объектом Object.

Данный оператор также используется для разграничения блоков последовательного кода, связанного с инструкциями управления процессом (for, while, if, else, switch) и функциями.

Операнд
object:Object — Создаваемый объект.
name1,2,...N:Object — Имена свойств.
value1,2,...N:Object — Соответствующие значения для каждого свойства name.

Результат
Object — Объект Object.

Пример
Как пользоваться примерами
Первая строка следующего кода создает пустой объект при помощи оператора инициализации объекта ({}); вторая строка создает новый объект при помощи функции конструктора:
var object:Object = {}; 
var object:Object = new Object(); 
В следующем примере создается объект account и инициализируются свойства name, address, city, state, zip и balance с сопутствующими значениями:
var account:Object = {name:"Adobe Systems, Inc.", address:"601 Townsend Street", city:"San Francisco", state:"California", zip:"94103", balance:"1000"}; 
for (i in account) { 
    trace("account."+i+" = "+account[i]); 
}
В следующем примере показано, как можно вложить массив в инициализатор объекта:
var person:Object = {name:"Gina Vechio", children:["Ruby", "Chickie", "Puppa"]}; 
Используя информацию из предыдущего примера, следующий код выдает тот же результат при помощи функции конструктора:
var person:Object = new Object(); 
person.name = "Gina Vechio"; 
person.children = new Array(); 
person.children[0] = "Ruby"; 
person.children[1] = "Chickie"; 
person.children[2] = "Puppa"; 

См. также

() parentheses Оператор  
Применение
(expression1[, expression2])
(expression1, expression2)
function(parameter1,..., parameterN) 

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

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

Применение 1: Определяет порядок выполнения операторов. Круглые скобки переопределяют обычный порядок старшинства так, что выражения в скобках вычисляются в первую очередь. В случае со вложенными круглыми скобками содержимое самых внутренних скобок вычисляется перед содержимым внешних.

Применение 2: Последовательно вычисляет серию выражений, разделенных запятой, и возвращает результат последнего выражения.

Применение 3: Обрамляет один или несколько параметров и передает их функции, предшествующей круглым скобкам.

Операнд
expression1:Object — Выражение, которое может состоять из чисел, строк, переменных или текста.
expression2:Object — Выражение, которое может состоять из чисел, строк, переменных или текста.
function:Function — Функция, применяемая к содержимому круглых скобок.
parameter1...parameterN:Object — Серия параметров для выполнения перед передачей результатов в качестве аргументов функции, расположенной вне круглых скобок.

Пример
Как пользоваться примерами
Применение 1: Следующие инструкции иллюстрируют использование круглых скобок для определения порядка вычисления выражений:
trace((2 + 3) * (4 + 5)); // 45 
trace(2 + (3 * (4 + 5))); // 29
trace(2 + (3 * 4) + 5);   // 19
trace(2 + (3 * 4) + 5);   // 19
Применение 2: В следующем примере вычисляется функция foo(), а затем функция bar(), и возвращается результат вычисления выражения a + b:
var a:Number = 1; 
var b:Number = 2; 
function foo() { 
  a += b; 
} 
function bar() { 
  b *= 10; 
} 
trace((foo(), bar(), a + b)); // 23 
Применение 3: Следующий пример иллюстрирует использование круглых скобок с функциями:
var today:Date = new Date(); 
trace(today.getFullYear()); // выводит текущий год 
function traceParameter(param):void { 
  trace(param); 
} 
traceParameter(2 * 2); // 4 

См. также

( ) parentheses (XML) Оператор  
Применение
myXML.(expression)

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Вычисляет выражение в ECMAScript для XML-конструкции XML (E4X). Например, myXML.(lastName == "Smith") определяет элементы XML с именем lastName и значением "Smith". Результатом является объект XMLList.

Операнд
myXML:* — Объект XML или XMLList.
expression:* — Выражение, определяющее подходящие элементы.

Результат
XMLList — Заданный круглыми скобками XMLList.

Пример
Как пользоваться примерами
Следующий пример иллюстрирует использование круглых скобок для определения элементов и атрибутов:
var myXML:XML = 
    <employees>
        <employee id = "42">
            <firstName>Joe</firstName>
            <lastName>Smith</lastName>
        </employee>
        <employee id = "43">
            <firstName>Susan</firstName>
            <lastName>Jones</lastName>
        </employee>
        <employee id = "44">
            <firstName>Anne</firstName>
            <lastName>Smith</lastName>
        </employee>
    </employees>;
    
trace(myXML.employee.(lastName == "Smith").@id.toXMLString()); 
    // 42
    // 44
                
trace(myXML.employee.(Number(@id) > 42).@id.toXMLString()); 
    // 43
    // 44

См. также

/ RegExp delimiter Оператор  
Применение
/pattern/flags

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

При использовании перед символами и после них указывает на то, что символы имеют литеральное значение и считаются регулярным выражением (RegExp), а не переменной, строкой или другим элементом ActionScript. Однако заметьте, что две последовательные левые косые черты (//) указывают на начало комментария.

Операнд
pattern:String — Последовательность из одного или нескольких символов, определяющая шаблон регулярного выражения.
flags:String — Последовательность следующих символов или отсутствие символов: g (для флага global), i (для флага ignoreCase), s (для флага dotall), x (для флага extended).

Пример
Как пользоваться примерами
В следующем примере левая косая черта используется (/) для присваивания значения переменной типа RegExp (флаг i установлен для игнорирования регистра в соответствии):
var myRegExp:RegExp = /foo-\d+/i; 
trace(myRegExp.exec("ABC Foo-32 def.")); // Foo-32 

См. также

=== strict equality Оператор  
Применение
expression1 === expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Проверяет равенство двух выражений, но не выполняет автоматическое преобразование данных. Если оба выражения, включая их типы данных, равны, результатом будет значение true.

Оператор строгого равенства (===) имеет три сходства с оператором равенства (==):

Оператор строгого равенства (===) имеет лишь два отличия от оператора равенства (==): В ActionScript 3.0 оператор строгого равенства выдает результаты, отличные от тех, что он выдавал в ActionScript 2.0, в двух ситуациях, в которых используются примитивные значения (например, var x:Number = 1) с примитивными объектами (например, var x:Number = new Number(1)). Это происходит потому, что ActionScript 3.0 стирает различие между примитивными значениями и примитивными объектами-оболочками.

Во-первых, сравнения между примитивными значениями и примитивными объектами, содержащими одинаковые значения, возвращают значение true в ActionScript 3.0, но false в предыдущих версиях. В предыдущих версиях примитивные значения относятся к типу данных Boolean, Number или String, тогда как примитивный объект всегда относится к типу данных Object, а не Boolean, Number или String. На практике это различие проявляется в том, что следующий код даст в результате значение false в предыдущих версиях ActionScript, так как типы данных операндов не совпадают, но в ActionScript 3.0 результатом будет значение true, так как примитивные значения относятся к типу Boolean, Number, int, uint или String независимо от того, включены они в объект или нет.

var num1:Number = 1;
var num2:Number = new Number(1);
trace(num1 === num2); // true в ActionScript 3.0, false в ActionScript 2.0
			
Во-вторых, сравнения между двумя примитивными объектами, содержащими одинаковые значения, возвращают значение true в ActionScript 3.0, но false в предыдущих версиях.
var num1:Number = new Number(1);
var num2:Number = new Number(1);
trace(num1 == num2);  // true в ActionScript 3.0, false в ActionScript 2.0
trace(num1 === num2); // true в ActionScript 3.0, false в ActionScript 2.0
Это происходит потому, что в предыдущих версиях ActionScript обе переменные относятся к типу данных Object и сравниваются по ссылке, и операции равенства и строгого равенства имеют своим результатом значение false. Однако в ActionScript 3.0 обе переменные относятся к типу данных Number и сравниваются по значению, и операторы равенства и строгого равенства возвращают значение true.

Операнд
expression1:Object — Число, строка, логическое значение, переменная, объект, массив или функция.
expression2:Object — Число, строка, логическое значение, переменная, объект, массив или функция.

Результат
Boolean — Логическое значение как результат сравнения.

Пример
Как пользоваться примерами
Следующий пример показывает, что строгое равенство (===) подобно равенству (==) при совпадении значений и типов данных:
var string1:String = "5"; 
var string2:String = "5"; 
trace(string1 == string2);  // true 
trace(string1 === string2); // true
Следующий пример показывает, что оператор строгого равенства не преобразует тип данных String в тип Number, но оператор равенства (==) выполняет такое преобразование:
// Оператор равенства (==) преобразует 5 в "5", а оператор строгого равенства - нет
var string1:String = "5"; 
var num:Number = 5; 
trace(string1 == num);  // true 
trace(string1 === num); // false 
Следующий пример показывает, что оператор строгого равенства не преобразует логические значения в числовые, но оператор равенства выполняет такое преобразование:
var num:Number = 1;
var bool:Boolean = true;
trace(num == bool);  // true 
trace(num === bool); // false
Следующий пример показывает, что оператор строгого равенства преобразует типы данных int и uint:
var num1:Number = 1;
var num2:int = 1;
var num3:uint = 1;
trace(num1 === num2); // true
trace(num1 === num3); // true
Следующий пример показывает, что оператор строгого равенства интерпретирует типы данных null и undefined как неравные, но оператор равенства считает их равными:
trace(null == undefined);  // true 
trace(null === undefined); // false 

См. также

!== strict inequality Оператор  
Применение
expression1 !== expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Проверяет на прямую противоположность оператору строгого равенства (===). Оператор строгого равенства работает так же, как и оператор неравенства, за исключением того, что преобразуются только типы данных int и uint.

Если expression1 равно expression2, и их типы данных равны, результатом будет значение false.

Оператор строгого неравенства (!==) имеет три сходства с оператором неравенства (!=):

Оператор строгого неравенства имеет два отличия от оператора неравенства (!=):

Операнд
expression1:Object — Число, строка, логическое значение, переменная, объект, массив или функция.
expression2:Object — Число, строка, логическое значение, переменная, объект, массив или функция.

Результат
Boolean — Логическое значение как результат сравнения.

Пример
Как пользоваться примерами
Комментарии в следующем коде показывают значения, возвращенные в результате выполнения операций, в которых используются операторы равенства (==), строгого равенства (===) и строгого неравенства (!==):
var s1:String = "5"; 
var s2:String = "5"; 
var s3:String = "Hello"; 
var n:Number = 5; 
var b:Boolean = true; 
trace(s1 == s2);  // true 
trace(s1 == s3);  // false 
trace(s1 == n);   // true 
trace(s1 == b);   // false 
trace(s1 === s2); // true 
trace(s1 === s3); // false 
trace(s1 === n);  // false 
trace(s1 === b);  // false 
trace(s1 !== s2); // false 
trace(s1 !== s3); // true 
trace(s1 !== n);  // true 
trace(s1 !== b);  // true 

См. также

" string delimiter Оператор  
Применение
 "текст" 

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

При использовании перед символами и после них указывает на то, что символы имеют литеральное значение и считаются строкой, а не переменной, числовым значением или другим элементом ActionScript.

Операнд
text:String — Последовательность символов или отсутствие символов.

Пример
Как пользоваться примерами
В следующем примере кавычки (") используются для указания на то, что значением переменной yourGuess является литеральная строка "Prince Edward Island", а не имя переменной.
var yourGuess:String = "Prince Edward Island"; 
submit_btn.onRelease = function() { trace(yourGuess); }; 
// Prince Edward Island

См. также

- subtraction Оператор  
Применение
-expression
 expression1 - expression2

Версии среды выполнения: Flash Player 9

Используется для отрицания или вычитания.

Применение 1: При использовании для отрицания этот оператор меняет на обратный знак числового выражения.

Применение 2: При использовании для вычитания этот оператор выполняет операцию арифметического вычитания над двумя числовыми выражениями, вычитая expression2 из expression1. Если оба выражения являются целыми числами, разность также будет целым числом. Если одно из выражений или оба выражения являются числами с плавающей запятой, разность будет выражена числом с плавающей запятой.

Операнд
expression1:Number — Число или выражение, принимающие числовое значение.
expression2:Number — Число или выражение, принимающие числовое значение.

Результат
Number — Целое число или число с плавающей запятой.

Пример
Как пользоваться примерами
Применение 1: Следующая инструкция меняет на обратный знак выражения 2 + 3:
trace(-(2 + 3)); // -5 
Применение 2: Следующая инструкция вычитает целое число 2 из целого числа 5:
trace(5 - 2); // 3 
Результат - целое число 3.

Следующая инструкция вычитает число с плавающей запятой 1,5 из числа с плавающей запятой 3,25:

trace(3.25 - 1.5); // 1.75 
Результат - число с плавающей запятой 1,75.

См. также

-= subtraction assignment Оператор  
Применение
expression1 -= expression2

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Присваивает выражению expression1 значение выражения expression1 - expression2. Например, следующие две инструкции идентичны:

x -= y ;
x = x - y;

Строковые выражения должны быть преобразованы в числа; в противном случае результатом будет значение NaN (не число).

Операнд
expression1:Number — Число или выражение, принимающие числовое значение.
expression2:Number — Число или выражение, принимающие числовое значение.

Результат
Number — Результат арифметической операции.

Пример
Как пользоваться примерами
В следующем примере используется оператор вычитания с присваиванием (-=) для вычитания 10 из 5 и присваивания полученного результата переменной x:
var x:Number = 5; 
var y:Number = 10; 
x -= y; 
trace(x); // -5 
Следующий пример иллюстрирует преобразование строк в числа:
var x:String = "5"; 
var y:String = "10"; 
x -= y; 
trace(x); // -5 

См. также

: type Оператор  
Применение
[modifiers] var variableName:type
function functionName():type { ... }
function functionName(parameter1:type, ..., parameterN:type) [:type]{ ... } 

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Используется для назначения типа данных; данный оператор указывает тип переменной, тип возвращаемого функцией значения или тип параметра функции. При использовании для объявления или назначения переменной этот оператор указывает тип переменной; при использовании для объявления или определения функции этот оператор указывает тип возвращаемого функцией значения; при использовании с параметром функции в определении функции этот оператор указывает ожидаемый тип переменной для этого параметра.

Проверка типа всегда осуществляется во время выполнения. Однако если компилятор работает в строгом режиме, все типы проверяются и во время компиляции, и в случае несоответствия выдается ошибка. Несоответствия могут возникать во время операций присваивания, вызова функций и разыменования членов класса с использованием оператора "точка" (.).

Допустимые типы включают в себя все собственные типы объектов, определяемые вами классы и интерфейсы, а также тип void. Распознаваемыми собственными типами являются Boolean, Number, int, uint и String. Все встроенные классы также поддерживаются как собственные типы.

Если не назначить тип данных, переменная, возвращаемое функцией значение или параметр функции будут считаться нетипизированными, т. е. значение может принадлежать к любому типу данных. Чтобы четко обозначить свое желание использовать нетипизированное значение, используйте символ "звездочка" (*) в качестве обозначения типа. При использовании в качестве обозначения типа символ "звездочка" означает, что переменная, возвращаемое функцией значение или параметр функции являются нетипизированными.

Операнд
variableName:* — Идентификатор переменной.
type:* — Собственный тип данных, определенное вами имя класса или имя интерфейса.
functionName:Function — Идентификатор функции.
parameter:* — Идентификатор параметра функции.

Пример
Как пользоваться примерами
Применение 1: В следующем примере переменная объявляется как public с именем userName типа String с присваиванием ей пустой строки:
var userName:String = ""; 
Применение 2: Следующий пример иллюстрирует указание типа возвращаемого функцией значения путем определения функции с именем randomInt(), которое определяет тип возвращаемого функцией значения как int:
function randomInt(integer:int):int { 
    return Math.round(Math.random()*integer); 
} 
trace(randomInt(8)); 
Применение 3: Следующий пример определяет функцию с именем squareRoot(), которая использует параметр с именем val типа Number и возвращает квадратный корень из val, также типа Number:
function squareRoot(val:Number):Number { 
    return Math.sqrt(val); 
} 
trace(squareRoot(121)); 

См. также

typeof Оператор  
Применение
typeof expression

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Вычисляет выражение expression и возвращает строку, в которой указан тип данных выражения. Результатом могут быть шесть строковых значений: boolean, function, number, object, string и xml. В случае применения этого оператора к экземпляру класса, определенного пользователем, результатом будет строка object. Оператор typeof используется для обратной совместимости. При помощи оператора is можно проверить совместимость типов.

Операнд
expression:Object — Вычисляемый объект.

Результат
String — Строковое представление типа выражения expression. В следующей таблице приведены результаты применения оператора typeof к каждому типу выражений.

Тип выражения Результат
Array object
Boolean boolean
Function function
int number
Number number
Object object
String string
uint number
XML xml
XMLList xml

Пример
Как пользоваться примерами
В следующем примере показан результат использования оператора typeof с различными объектами и значениями.
trace(typeof Array); // object
trace(typeof Date);  // object
trace(typeof 3);     // number
В следующем примере показано, что в ActionScript 3.0 тип данных примитивного объекта остается тем же и в случае присваивания литерального значения, и в случае использования оператора new для создания объекта. В этом заключается отличие от предыдущих версий ActionScript, в которых оператор typeof возвращает значение object для переменной b:
var a:String = "sample";
var b:String = new String("sample");
trace(typeof a); // string
trace(typeof b); // string 

См. также

void Оператор  
Применение
void expression

Версии среды выполнения: Flash Player 9

Вычисляет выражение и удаляет его значение, возвращая undefined. Оператор void часто используется в операциях сравнения, в которых используется оператор == для проверки значений типа undefined.

Операнд
expression:Object — Вычисляемое выражение.

Результат
* — Значение undefined.

См. также

< > XML literal tag delimiter Оператор  
Применение
 myXML= <{tagName} {attributeName} = {attributeValue}>{content}</{tagName}>

Язык версии : ActionScript 3.0
Версии среды выполнения: Flash Player 9

Определяет тег XML в литерале XML. Для определения закрывающего тега используйте левую косую черту /.

Операнд
myXML:* — Объект XML или XMLList.
tagName:* — Выражение, результатом вычисления которого является имя тега XML.
attributeName:* — Выражение, результатом вычисления которого является имя атрибута XML.
attributeValue:* — Выражение, результатом вычисления которого является значение атрибута XML.
content:* — Выражение, результатом вычисления которого является содержимое тега XML.

Пример
Как пользоваться примерами
Следующий пример иллюстрирует использование операторов < и > при определении литерала XML:
var x:XML = <item id= "324">cola</item>; 

См. также