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