| 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 9, Flash Lite 4 |
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.
Eléments de l’API associés
| 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 | ||
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 )
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.
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
}
}
}
Tue Jun 12 2018, 09:30 AM Z
Masquer les propriétés publiques héritées
Afficher les propriétés publiques héritées