Paket | Oberste Ebene |
Klasse | public class arguments |
Vererbung | arguments Object |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Die Argumente werden als Arrayelemente gespeichert: Das erste ist über arguments[0]
zugänglich, das zweite über arguments[1]
usw. Die arguments.length
-Eigenschaft gibt die Anzahl der an die Funktion übergebenen Argumente an. Die Anzahl der übergebenen Argumente muss jedoch nicht unbedingt mit der in der Funktion deklarierten Anzahl übereinstimmen.
Im Gegensatz zu früheren ActionScript-Versionen besitzt ActionScript 3.0 keine arguments.caller
-Eigenschaft. Um auf die Funktion zu verweisen, die die aktuelle aufgerufen hat, müssen Sie einen Verweis auf diese Funktion als Argument übergeben. Ein Beispiel für diese Technik finden Sie im Beispiel für arguments.callee
.
ActionScript 3.0 umfasst ein neues ...(rest)
-Schlüsselwort, das anstelle der arguments-Klasse empfohlen wird.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
callee : Function
Ein Verweis auf die derzeit ausgeführte Funktion. | arguments | ||
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
length : Number
Anzahl der an die Funktion übergebenen Argumente. | arguments |
callee | Eigenschaft |
public var callee:Function
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Ein Verweis auf die derzeit ausgeführte Funktion.
Beispiel ( Verwendung dieses Beispiels )
secondFunction()
aufgerufen wird. Die firstFunction()
-Funktion enthält das boolesche Argumenttrue
, um zu demonstrieren, dass secondFunction()
erfolgreich firstFunction()
aufruft, und um eine Endlosschleife zu verhindern, in der eine Funktion die andere aufruft.
Da der callSecond
-Parameter true
lautet, ruft firstFunction()
die secondFunction()
-Funktion auf und übergibt als einziges Argument einen Verweis auf sich selbst. Die secondFunction()
-Funktion empfängt dieses Argument und speichert es mithilfe des Parameters caller
, der den Datentyp Function aufweist. Anschließend wird aus der secondFunction()
-Funktion heraus mit dem caller
-Parameter die firstFunction
-Funktion aufgerufen. Dieses Mal ist das Argument callSecond
jedoch auf false
gesetzt.
Wenn die Ausführung zu firstFunction()
zurückkehrt, wird die trace()
-Anweisung ausgeführt, da callSecond
den Wert false
aufweist.
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 | Eigenschaft |
public var length:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Anzahl der an die Funktion übergebenen Argumente. Diese Anzahl kann von der in der Funktion deklarierten Anzahl abweichen.
arguments
-Eigenschaften, wie etwa callee
und 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, 10:04 AM Z