| Paquete | Nivel superior |
| Clase | public class arguments |
| Herencia | arguments Object |
| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Los argumentos se almacenan como elementos de un conjunto: se obtiene acceso al primero como arguments[0], al segundo, como arguments[1], etc. La propiedad arguments.length indica el número de argumentos que se pasan a la función. Puede haber diferencia entre el número de argumentos que se pasan y los que declara la función.
A diferencia de las versiones anteriores de ActionScript, ActionScript 3.0 carece de propiedad arguments.caller. Para obtener una referencia a la función que ha llamado a la función actual, debe pasar una referencia a dicha función como argumento. Encontrará un ejemplo de esta técnica en el ejemplo facilitado para arguments.callee.
ActionScript 3.0 incluye una nueva palabra clave ...(rest) cuyo uso se recomienda en lugar de la clase arguments.
Elementos de API relacionados
| Propiedad | Definido por | ||
|---|---|---|---|
| callee : Function
Una referencia a la función que se está ejecutando. | arguments | ||
![]() | constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | |
| length : Number
El número de argumentos que se pasan a la función. | arguments | ||
callee | propiedad |
public var callee:Function| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Una referencia a la función que se está ejecutando.
Ejemplo ( Cómo utilizar este ejemplo )
secondFunction(). La función firstFunction() tiene un argumento booleano con valor true para demostrar que secondFunction() llama correctamente a firstFunction() y para evitar un bucle infinito en el que cada función llame a la otra.
Como el parámetro callSecond tiene el valor true, firstFunction() llama a secondFunction() y transfiere una referencia a sí mismo como único argumento. La función secondFunction() recibe este argumento y lo guarda utilizando un parámetro llamado caller, que pertenece al tipo de datos Function. Desde secondFunction(), el parámetro caller se utiliza para llamar a la función firstFunction, pero en esta ocasión con el argumento callSecond definido como false.
Cuando la ejecución vuelve a firstFunction(), se ejecuta la sentencia trace() ya que callSecond es 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 | propiedad |
public var length:Number| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
El número de argumentos que se pasan a la función. Puede ser más o menos el que declara la función.
arguments, como callee y 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
}
}
}
Tue Jun 12 2018, 02:12 PM Z
Ocultar propiedades públicas heredadas
Mostrar propiedades públicas heredadas