ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
Oberste Ebene 

arguments  - AS3

PaketOberste Ebene
Klassepublic class arguments
Vererbungarguments Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

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

Verwandte API-Elemente



Ö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
Ö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 die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
Eigenschaftendetails

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 )
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);
        }        
    }
} 

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.

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
        }
    }
}




[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.