Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : Récupération des données du serveur...
Récupération des données du serveur...
Niveau supérieur 

arguments  - AS3

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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

Eléments de l’API associés



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
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 de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.
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 de la propriété

callee

propriété
public var callee:Function

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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


Exemple  ( Comment utiliser cet exemple )
Le code suivant indique comment obtenir une référence à la fonction qui appelle la fonction nommé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);
        }        
    }
} 

length

propriété 
public var length:Number

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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

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
        }
    }
}




[ X ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.