PaketOberste Ebene
Klassepublic class arguments
Vererbungarguments Inheritance Object

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 8

Ein arguments-Objekt dient zum Speichern der Argumente einer Funktion und zum Zugriff auf diese Argumente. Im Hauptabschnitt einer Funktion können Sie auf ihr arguments-Objekt zugreifen, indem Sie die Variable für lokale Argumente verwenden.

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.

Beispiele anzeigen

Siehe auch

...(rest)
Function


Öffentliche Eigenschaften
 EigenschaftDefiniert von
  callee : Function
Ein Verweis auf die derzeit ausgeführte Funktion.
arguments
 Inheritedconstructor : 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
 Inheritedprototype : Object
[static] Ein Verweis auf das Prototypobjekt einer Klasse oder eines Funktionsobjekts.
Object
Öffentliche Methoden
 MethodeDefiniert von
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
Eigenschaftsdetail
calleeEigenschaft
public var callee:Function

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 8

Ein Verweis auf die derzeit ausgeführte Funktion.


Beispiel

Im folgenden Code wird veranschaulicht, wie ein Verweis auf die Funktion hergestellt wird, durch die die 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);
        }        
    }
} 
lengthEigenschaft 
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.

Beispiele Verwendung von Beispielen
ArgumentsExample.as

Das folgende Beispiel veranschaulicht die Verwendung von verschiedenen 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