| Paquete | Nivel superior |
| Clase | public class arguments |
| Herencia | arguments Object |
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 8 |
Los argumentos se almacenan como elementos de una matriz: 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.
Véase también
| 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 | ||
![]() | prototype : Object
[static]
Una referencia al objeto prototipo de una clase u objeto de función.
| Object | |
| callee | propiedad |
public var callee:Function
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 8 |
Una referencia a la función que se está ejecutando.
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 |
| Versión del reproductor: | Flash Player 8 |
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
}
}
}
Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios
Página actual: http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/arguments.html