PackageNiveau supérieur
Classepublic class arguments
Héritagearguments Inheritance Object

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 8

Un objet arguments permet de stocker les arguments d'une fonction et d’y accéder. Dans le corps d'une fonction, vous pouvez accéder à l'objet arguments par le biais de la variable arguments locale.

Les arguments sont stockés sous forme d'éléments de tableau : le premier est accessible sous la forme arguments[0], le deuxième en tant qu'arguments[1], etc. La propriété arguments.length indique le nombre d'arguments transmis à la fonction. Le nombre d'arguments transmis peut différer du nombre déclaré par la fonction.

A l’encontre des versions précédentes d’ActionScript, ActionScript 3.0 n’intègre pas de propriété arguments.caller. Pour définir une référence à la fonction qui a appelé la fonction en cours, vous devez transmettre une référence à cette dernière en tant qu’argument. Cette technique est illustrée dans l’exemple associé à arguments.callee.

ActionScript 3.0 intègre un nouveau mot clé ...(rest), que nous vous recommandons d'utiliser de préférence à la classe arguments.

Consulter les exemples

Voir aussi

...(rest)
Function


Propriétés publiques
 PropriétéDéfini par
  callee : Function
Référence à la fonction en cours d'exécution.
arguments
 Inheritedconstructor : Object
Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet.
Object
  length : Number
Nombre d'arguments transmis à la fonction.
arguments
 Inheritedprototype : Object
[static] Référence à l’objet prototype d’un objet de classe ou fonction.
Object
Méthodes publiques
 MéthodeDéfini par
 Inherited
Indique si la propriété spécifiée d'un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l'objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
Définit la disponibilité d'une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l'objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l'objet spécifié.
Object
Détails des propriétés
calleepropriété
public var callee:Function

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 8

Référence à la fonction en cours d'exécution.


Exemple

Le code suivant indique comment obtenir une référence à la fonction qui appelle la fonction appelée secondFunction(). La fonction firstFunction() reçoit l'argument booléen true pour démontrer que secondFunction() appelle avec succès firstFunction() et pour empêcher une boucle infinie de fonctions qui s'appellent les unes les autres.

Dans la mesure où le paramètre callSecond est défini sur true, firstFunction() appelle secondFunction() et se transmet une référence à lui-même en tant que seul argument. La fonction secondFunction() reçoit cet argument et le stocke à l'aide d'un paramètre appelé caller, qui appartient au type de données Function. A partir de secondFunction(), le paramètre caller est ensuite utilisé pour appeler la fonction firstFunction, mais cette fois avec l'argument callSecond défini sur false.

Lorsque l'exécution revient à firstFunction(), l'instruction trace() est exécutée, car callSecond est 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);
        }        
    }
} 
lengthpropriété 
public var length:Number

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 8

Nombre d'arguments transmis à la fonction. Ce nombre peut être supérieur ou inférieur à celui déclaré par la fonction.

Exemples Utilisation des exemples
ArgumentsExample.as

L'exemple suivant présente les différents usages pour différentes propriétés arguments, telles que callee et 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
        }
    }
}




 

M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire

Page en cours: http://livedocs.adobe.com/flash/9.0_fr/ActionScriptLangRefV3/arguments.html