| Package | Niveau supérieur |
| Classe | public class arguments |
| Héritage | arguments Object |
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 8 |
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.
Voir aussi
| Propriété | Défini par | ||
|---|---|---|---|
| callee : Function Référence à la fonction en cours d'exécution. | arguments | ||
![]() | constructor : 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 | ||
![]() | prototype : Object [statique] Référence à l'objet prototype d'un objet de classe ou fonction. | Object | |
| callee | propriété |
public var callee:Function| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 8 |
Référence à la fonction en cours d'exécution.
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 8 |
Nombre d'arguments transmis à la fonction. Ce nombre peut être supérieur ou inférieur à celui déclaré par la fonction.
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
}
}
}