Referência do ActionScript® 3.0 para Adobe® Flash® Platform
Início  |  Ocultar listas de Pacotes e Classes |  Pacotes  |  Classes  |  Novidades  |  Índice  |  Apêndices  |  Por que inglês?
Filtros: Recuperando dados do servidor...
Recuperando dados do servidor...
Nível superior 

arguments  - AS3

PacoteNível superior
Classepublic class arguments
Herançaarguments Inheritance Object

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Um objeto de argumentos é usado para armazenar e acessar os argumentos de uma função. No corpo de uma função, você pode acessar seu objeto de argumentos usando a variável de argumentos locais.

Os argumentos são armazenados como elementos de matriz: o primeiro é acessado como arguments[0], o segundo comoarguments[1], e assim por diante. A propriedade arguments.length indica o número de argumentos transmitidos à função. Pode haver um número diferente de argumentos transmitidos do que os declarados pela função.

Ao contrário das versões anteriores do ActionScript, o ActionScript 3.0 não tem uma propriedade arguments.caller. Para obter uma referência à função que chamou a função atual, é necessário transmitir uma referência a essa função como um argumento. Um exemplo dessa técnica pode ser encontrado no exemplo para arguments.callee.

O ActionScript 3.0 inclui uma nova palavra-chave ...(rest) que é recomendada no lugar da classe de argumentos.

Veja os exemplos

Elementos da API relacionados



Propriedades públicas
 PropriedadeDefinido por
  callee : Function
Uma referência à função em execução no momento.
arguments
 Inheritedconstructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto.
Object
  length : Number
O número de argumentos transmitidos à função.
arguments
Métodos públicos
 MétodoDefinido por
 Inherited
Indica se um objeto tem uma propriedade especificada definida.
Object
 Inherited
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro.
Object
 Inherited
Indica se a propriedade especificada existe e é enumerável.
Object
 Inherited
Define a disponibilidade de uma propriedade dinâmica para operações de repetição.
Object
 Inherited
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade.
Object
 Inherited
Retorna a representação de string do objeto especificado.
Object
 Inherited
Retorna o valor primitivo do objeto especificado.
Object
Detalhes da propriedade

callee

propriedade
public var callee:Function

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Uma referência à função em execução no momento.


Exemplo  ( Como usar este exemplo )
O código a seguir mostra como obter uma referência à função que chama a função denominada secondFunction(). A função firstFunction() tem o argumento Boolean de true para demonstrar que secondFunction() chama firstFunction() com êxito e para evitar uma repetição infinita de cada função chamando a outra.

Como o parâmetro callSecond é true, firstFunction() chama secondFunction() e transmite uma referência a si próprio como o único argumento. A função secondFunction() recebe esse argumento e o armazena usando um parâmetro denominado caller, que é do tipo de dados Function. A partir de secondFunction(), o parâmetro caller é então usado para chamar a função firstFunction, mas, desta vez, com o argumento callSecond definido como false.

Quando a execução retornar a firstFunction(), a instrução trace() será executada por que 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

propriedade 
public var length:Number

Versão da linguagem: ActionScript 3.0
Versões de runtime: AIR 1.0, Flash Player 9, Flash Lite 4

O número de argumentos transmitidos à função. Esse número pode ser maior ou menor do que a função declara.

ArgumentsExample.as

O exemplo a seguir mostra usos para várias propriedades de arguments, como callee e 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 ]Por que inglês?
O conteúdo na Referência do ActionScript 3.0 aparece em inglês

Nem todas as partes da Referência do ActionScript 3.0 estão traduzidas em todos os idiomas. Quando um elemento de um idioma não está traduzido, ele é exibido em inglês. Por exemplo, a classe ga.controls.HelpBox não está traduzida em nenhum idioma. Por isso, na versão da referência em português do Brasil, a classe ga.controls.HelpBox é exibida em inglês.