PaqueteNivel superior
Clasepublic class arguments
Herenciaarguments Inheritance Object

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 8

Un objeto arguments se utiliza para almacenar y acceder a los argumentos de una función. Dentro del cuerpo de una función, puede obtener acceso a su objeto arguments empleando la variable local arguments.

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.

Ver los ejemplos

Véase también

...(rest)
Function


Propiedades públicas
 PropiedadDefinido por
  callee : Function
Una referencia a la función que se está ejecutando.
arguments
 Inheritedconstructor : 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
 Inheritedprototype : Object
[static] Una referencia al objeto prototipo de una clase u objeto de función.
Object
Métodos públicos
 MétodoDefinido por
 Inherited
Indica si un objeto tiene definida una propiedad especificada.
Object
 Inherited
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
Object
 Inherited
Indica si existe la propiedad especificada y si es enumerable.
Object
 Inherited
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
Object
 Inherited
Devuelve la representación de cadena del objeto especificado.
Object
 Inherited
Devuelve el valor simple del objeto especificado.
Object
Información sobre propiedades
calleepropiedad
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.


Ejemplo

El siguiente código muestra cómo obtener una referencia a la función que llama a la función 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);
        }
    }
} 
lengthpropiedad 
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.

Ejemplos Cómo utilizar los ejemplos
ArgumentsExample.as

En el ejemplo siguiente, se muestran usos para las distintas propiedades 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