8.7 Sonstige Operatoren
Im Folgenden finden Sie eine Reihe Operatoren, denen in diesem Buch keine eigene Kategorie gewidmet ist. Das hat aber nichts mit der Bedeutung der Operatoren zu tun. Ganz im Gegenteil: Die meisten der Operatoren zählen zu den wichtigsten!
8.7.1 ( ) (Gruppierung und Funktionsaufruf)
Die runden Klammern (engl. Parenthesis) bilden einen Operator. Durch die Klammerung kann wie in der Mathematik der Rang von Operatoren verändert werden. D.h., so wird sichergestellt, welche Teile eines komplexen Ausdrucks zuerst ausgewertet werden.
Außerdem kommen die Klammern immer dann zum Einsatz, wenn sich hinter einem Bezeichner eine Funktion oder Methode versteckt. Die Klammerung bewirkt dann, dass die Funktion abgearbeitet wird. Andernfalls würde nur die Referenz zur Funktion ausgewertet.
|
Bemerkung: |
|
Dieser Operator steht seit dem Flash Player 4 zur Verfügung. |
|
|
|
Syntax: |
(ausdruck)
bezeichner(ausdruck1, ausdruck2...);
|
Parameter: |
|
Die Ausdrücke stehen für beliebige Datentypen und dürfen auch wieder aus komplexen Ausdrücken bestehen. Im zweiten Fall verbirgt sich hinter dem Bezeichner eine Funktion oder Methode, die die Ausdrücke als Parameter erhält und abarbeitet. |
|
|
|
Ergebnis: |
|
Im ersten Fall wird der geklammerte Ausdruck zusammenhängend ausgewertet. Im zweiten Fall ist das Ergebnis die Rückgabe der Funktion oder undefined. |
|
|
|
Beispiel: |
// Berechnung ohne Klammern
ausgabe = 2*5+3;
// Funktionsaufruf
trace(ausgabe); // Ergebnis ist 13
// Berechnung mit Klammern
ausgabe = 2*(5+3);
// Funktionsaufruf
trace(ausgabe); // Ergebnis ist 16
8.7.2 [ ] (Array-Zugriff und Array-Initialisierung)
Siehe Seite 336
Die eckigen Klammern kommen bei dem Zugriff auf die Elemente eines Arrays zum Einsatz. Außerdem können sie für die Erstellung eines Arrays verwendet werden.
|
Bemerkung: |
|
Dieser Operator steht seit dem Flash Player 5 zur Verfügung. |
|
|
|
Syntax: |
bezeichner[ausdruck]
[ausdruck1, ausdruck2 ...]
|
Parameter: |
|
Die Ausdrücke stehen für beliebige Datentypen und dürfen auch wieder aus komplexen Ausdrücken bestehen. Im ersten Fall verbirgt sich hinter dem Bezeichner eine Liste oder ein Objekt. Bei Objekten (assoziative Arrays) geben Sie den Namen der gesuchten Eigenschaft als Zeichenkette an. Bei Listen (Arrays) wählen Sie die Position des Eintrags. Die erste Position erhält dabei die Nummer 0. |
|
|
|
Ergebnis: |
|
Im ersten Fall wird der Wert der Listenposition oder Objekteigenschaft zurückgegeben. Im zweiten Fall erzeugt ActionScript eine neue Liste. |
|
|
|
Beispiel: |
// Objektinitialisierung mit eckigen Klammern
liste = ["Marc", "Saban", "Sascha"];
// Zugriff auf Einträge in einer Liste
trace(liste[2]); // Ergebnis "Sascha"
// Alternative Objektinitialisierung
liste=new Array("Marc", "Saban", "Sascha");
8.7.3 { } (Objektinitialisierung)
Siehe Kapitel 13
Die geschweiften Klammern ermöglichen die Erstellung eines Objektes.
|
Bemerkung: |
|
Dieser Operator steht seit dem Flash Player 5 zur Verfügung. |
|
|
|
Syntax: |
{bezeichner1:ausdruck1, bezeichner2:ausdruck2 ...}
|
Parameter: |
|
Hinter den Bezeichnern verbergen sich die Namen der Eigenschaften des neu erstellten Objektes. Diese Eigenschaften erhalten die über die Ausdrücke bestimmten Werte. Die Ausdrücke stehen dabei für beliebige Datentypen und dürfen auch wieder aus komplexen Ausdrücken bestehen. |
|
|
|
Ergebnis: |
|
Es wird ein Objekt vom Typ object mit den angegebenen Eigenschaften erzeugt. |
|
|
|
Beispiel: |
// Objektinitialisierung mit geschweiften Klammern
pkw = {vmax:210, ps:129, kombi:true, farbe:"silber"};
// Alternative Objektinitialisierung
auto = new Object();
auto.vmax = 210;
auto.ps = 129;
auto.kombi = true;
auto.farbe = "silber";
Geschweifte Klammern zum Gruppieren von Anweisungen
Die geschweiften Klammern benötigen Sie auch dann, wenn Sie mehrere Anweisungen zu einer einzigen Anweisung wie eine Gruppe zusammenfassen möchten. Zum Beispiel um Funktionsblöcke oder die zu einem if gehörenden Anweisungen festzulegen:
function tuWas () {
// Anweisungen
if (bedingung) {
// Anweisungen
}
}
8.7.4 . (Objektzugriff)
Siehe Kapitel 13
Der Punkt dient als Operator, um auf die Bestandteile eines Objektes zuzugreifen.
|
Bemerkung: |
|
Dieser Operator steht seit dem Flash Player 5 zur Verfügung. |
|
|
|
Syntax: |
ausdruck.bezeichner
|
Parameter: |
|
Der Ausdruck beschreibt einen Pfad zu einer Objektinstanz, auf deren Eigenschaft zugegriffen werden soll. Diese Eigenschaft wird über den Bezeichner angegeben. |
|
|
|
Ergebnis: |
|
Der Wert des Bezeichners wird als Ergebnis geliefert. |
|
|
|
Beispiel: |
// Objektinitialisierung und Zugriff auf Eigenschaften
auto = new Object();
auto.vmax = 210;
auto.ps = 129;
auto.kombi = true;
auto.farbe = "silber";
trace(auto.farbe);
// Alternative
trace(auto[«farbe»]);
8.7.5 new (Objekt zuweisen)
Siehe Kapitel 13
Den new-Operator verwenden Sie, um eine neue Objektinstanz zu erzeugen.
|
Bemerkung: |
|
Dieser Operator steht seit dem Flash Player 5 zur Verfügung. |
|
|
|
Syntax: |
new bezeichner(parameter);
|
Parameter: |
|
Der Bezeichner gibt eine Funktion an, die als Klasse fungiert und eine neue Instanz erzeugt. Je nach Objekttyp stehen unterschiedliche Parameter zur Verfügung. |
|
|
|
Ergebnis: |
|
Eine neue Objektinstanz wird als Ergebnis geliefert. |
|
|
|
Beispiel: |
// Objektinitialisierung
auto = new Object();
8.7.6 delete (Objektzuweisung aufheben)
Den delete-Operator verwenden Sie, um eine Variable oder Eigenschaft zu löschen.
|
Bemerkung: |
|
Dieser Operator steht seit dem Flash Player 5 zur Verfügung. |
|
|
|
Syntax: |
delete bezeichner
|
Parameter: |
|
Der Bezeichner gibt den Namen der zu löschenden Variablen oder Eigenschaft an. |
|
|
|
Ergebnis: |
|
War der Löschvorgang erfolgreich, dann ist das Ergebnis true. Andernfalls ist das Ergebnis false. |
|
|
|
Beispiel: |
// Objektinitialisierung
auto = new Object();
delete auto;
// Schreibweise wie bei einer Funktion
delete(auto);
Funktion oder Operator?
Die Operatoren void, typeof und delete werden oft wie Funktionen mit Klammern geschrieben, obwohl es sich um Operatoren handelt. Dies hat aber keine Auswirkung auf die Arbeitsweise. Denn ActionScript erlaubt ja ohnehin die Klammerung innerhalb von Ausdrücken.
8.7.7 typeof (Objekttyp)
Siehe Datentyp auf Seite 172
Den typeof-Operator verwenden Sie, um den Datentyp einer Variablen oder Eigenschaft zu bestimmen.
|
Bemerkung: |
|
Dieser Operator steht seit dem Flash Player 5 zur Verfügung. |
|
|
|
Syntax: |
typeof bezeichner
|
Parameter: |
|
Der Bezeichner gibt den Namen der Variablen oder Eigenschaft an, deren Datentyp ermittelt werden soll. |
|
|
|
Ergebnis: |
|
Als Ergebnis liefert ActionScript den Datentyp wie in der Tabelle »Typbestimmung« beschrieben. |
|
|
Tabelle 8.12
Typbestimmung
Datentyp
|
typeof-Ergebnis
|
Undefined
|
"undefined"
|
Null
|
"null"
|
Boolean
|
"boolean"
|
Number
|
"number"
|
String
|
"string"
|
Function (Object)
|
"function"
|
MovieClip (Object)
|
"movieclip"
|
Sonstige Objekte (Object)
|
"object"
|
8.7.8 void (gibt einen undefinierten Wert zurück)
Den void-Operator verwenden Sie, um einen Ausdruck zu verwerfen und undefined als Ergebnis zu erhalten.
|
Bemerkung: |
|
Dieser Operator steht seit dem Flash Player 5 zur Verfügung. |
|
|
|
Syntax: |
void ausdruck
|
Parameter: |
Der Ausdruck darf von einem beliebigen Datentyp sein.
|
Ergebnis: |
|
Als Ergebnis liefert ActionScript undefined. |
|
|
8.7.9 add (Stringverkettung in Flash 4)
Der Operator add verbindet zwei Zeichenketten.
|
Bemerkung: |
|
Dieser Operator steht seit dem Flash Player 4 zur Verfügung und wird nicht mehr empfohlen. Verwenden Sie falls möglich stattdessen den +-Operator. |
|
|
|
Syntax: |
ausdruck add ausdruck
|
Parameter: |
Die Ausdrücke stehen für Zeichenketten.
|
Ergebnis: |
|
Flash konvertiert die Ausdrücke in Zeichenketten und verbindet diese. |
|
|
|
Beispiel: |
// Kombiniere mehrere Zeichenketten
name = titel add " " add vorname add " " add nachname;
8.7.10 ?: (bedingt)
Der Operator ?: ermöglicht bedingte Ausdrücke, bei denen das Ergebnis von einer Bedingung abhängig ist.
|
Bemerkung: |
|
Dieser Operator steht seit dem Flash Player 4 zur Verfügung. |
|
|
|
Syntax: |
bedingung ? ausdruck1 : ausdruck2
|
Parameter: |
|
Die Ausdrücke stehen für beliebige Datentypen. Den Ausdruck für die Bedingung wandelt ActionScript falls notwendig in einen Wahrheitswert um. |
|
|
|
Ergebnis: |
|
Ein bedingter Ausdruck liefert ausdruck1 als Ergebnis, wenn die Bedingung true ist. Andernfalls ist das Ergebnis ausdruck2. |
|
|
|
Beispiel: |
position = (position > 550) ? 1 : (position+1);
// Alternative Schreibweise
if (position > 550) {
position = 1;
} else {
position = position+1;
}
8.7.11 , (mehrfache Auswertung)
Der Operator , trennt mehrere Ausdrücke, die unabhängig voneinander ausgewertet werden.
|
Bemerkung: |
|
Dieser Operator steht seit dem Flash Player 4 zur Verfügung. |
|
|
|
Syntax: |
ausdruck1, ausdruck2
|
Parameter: |
Die Ausdrücke stehen für beliebige Datentypen.
|
Ergebnis: |
|
ActionScript arbeitet durch Kommata getrennte Ausdrücke der Reihe nach ab und liefert als Ergebnis den Wert des letzten Ausdrucks. |
|
|
|