| Paket | Oberste Ebene |
| Klasse | public class arguments |
| Vererbung | arguments Object |
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 8 |
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.
Siehe auch
| 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 | ||
![]() | prototype : Object
[static]
Ein Verweis auf das Prototypobjekt einer Klasse oder eines Funktionsobjekts.
| Object | |
| callee | Eigenschaft |
public var callee:Function
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 8 |
Ein Verweis auf die derzeit ausgeführte Funktion.
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 |
| Player-Version : | Flash Player 8 |
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
}
}
}
Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht
Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/arguments.html