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