| Pacote | Nível superior |
| Classe | public class arguments |
| Herança | arguments Object |
| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
Elementos da API relacionados
| Propriedade | Definido por | ||
|---|---|---|---|
| callee : Function
Uma referência à função em execução no momento. | arguments | ||
![]() | constructor : 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 | ||
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 )
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.
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
}
}
}
Wed Jun 13 2018, 11:10 AM Z
Ocultar propriedades públicas herdadas
Mostrar propriedades públicas herdadas