Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: AIR 30.0 или более ранней версии, Flash Player 30.0 или более ранней версии, Flash Lite 4
Flex 4.6 или более ранней версии, Flash Pro CS6 или более ранней версии
Скрыть фильтры
Верхний уровень 

arguments  - AS3

ПакетВерхний уровень
Классpublic class arguments
Наследованиеarguments Inheritance Object

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

Объект arguments используется для хранения аргументов функции и доступа к ним. В теле функции объект arguments можно вызывать с помощью переменной локальных аргументов.

Аргументы сохраняются как элементы массива: доступ к первому из них выполняется по имени arguments[0], ко второму – по имени arguments[1] и т.д. Свойство arguments.length означает количество аргументов, переданных функции. Количество переданных аргументов может отличаться от количества, объявленного функцией.

В отличие от предыдущих версий ActionScript в ActionScript 3.0 нет свойства arguments.caller. Чтобы получить ссылку на функцию, которая названа текущей, необходимо передать ссылку на эту функцию в виде аргумента. Случай применения этого метода см. в примере, относящемся к свойству arguments.callee.

ActionScript 3.0 включает новое ключевое слово ...(rest), которое рекомендуется использовать вместо класса arguments.

Посмотреть примеры

Связанные элементы API



Общедоступные свойства
 СвойствоОпределено
  callee : Function
Ссылка на функцию, выполняемую в настоящий момент.
arguments
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  length : Number
Число аргументов, переданных функции.
arguments
Общедоступные методы
 МетодОпределено
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Сведения о свойстве

callee

свойство
public var callee:Function

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

Ссылка на функцию, выполняемую в настоящий момент.


Пример  ( Использование этого примера )
В следующем коде показано, как получить ссылку на функцию, которая вызывает функцию secondFunction(). Функции firstFunction() присвоен логический аргумент true, указывающий на то, что secondFunction() успешно вызывает firstFunction(), и предотвращающий появление бесконечного цикла поочередного вызова функциями друг друга.

Поскольку параметру callSecond присвоено значение true, firstFunction() вызывает secondFunction() и передает себе ссылку в качестве единственного аргумента. Функция secondFunction() получает аргумент и сохраняет его с помощью параметра caller, который относится к типу данных Function. В secondFunction() используется параметр caller для вызова функции firstFunction, но на этот раз аргументу callSecond присваивается значение false.

Когда в ходе выполнения возвращается firstFunction(), выполняется выражение trace(), поскольку callSecond имеет значение false.

  package {
    import flash.display.Sprite;
    
    public class ArgumentsExample extends Sprite {
        private var count:int = 1;
        
        public function ArgumentsExample() {
            firstFunction(true);
        }

        public function firstFunction(callSecond:Boolean) {
            trace(count + ": firstFunction");
            if(callSecond) {
                secondFunction(arguments.callee);
            }
            else {
                trace("CALLS STOPPED");
            }
        }

        public function secondFunction(caller:Function) {
            trace(count + ": secondFunction\n");
            count++;
            caller(false);
        }        
    }
} 

length

свойство 
public var length:Number

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

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

ArgumentsExample.as

В следующем примере показано использование различных свойств arguments (например, callee и length).
package {
    import flash.display.Sprite;
    
    public class ArgumentsExample extends Sprite {
        public function ArgumentsExample() {
                println("Hello World");
        }
        
        public function println(str:String):void {
            trace(arguments.callee == this.println); // true
            trace(arguments.length);                 // 1
            trace(arguments[0]);                     // Hello World
            trace(str);                                // Hello World
        }
    }
}




[ X ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.