eval-Funktion

eval(expression:Object) : Objecteval(expression:String) : Object

Greift anhand des Namens auf Variablen, Eigenschaften, Objekte oder Movieclips zu. Wenn expression eine Variable oder eine Eigenschaft ist, wird der Wert der Variablen oder der Eigenschaft zurückgegeben. Wenn expression ein Objekt oder ein Movieclip ist, wird eine Referenz auf das Objekt bzw. den Movieclip zurückgegeben. Wenn das in expression angegebene Element nicht gefunden werden kann, wird undefined zurückgegeben.

In Flash 4 konnten mit eval() Arrays simuliert werden. Ab Flash 5 wird die Verwendung der Array-Klasse zum Simulieren von Arrays empfohlen.

In Flash 4 können mit eval() auch Namen von Instanzen und Variablen dynamisch festgelegt und abgerufen werden. Hierzu können Sie jedoch auch den Array-Zugriffsoperator ([]) verwenden.

In Flash ab Version 5 können mit eval() keine Variablenwerte oder Instanznamen mehr dynamisch gesetzt oder abgerufen werden, da eval() nicht auf der linken Seite einer Gleichung stehen kann. Ersetzen Sie beispielsweise den Code

eval ("var" + i) = "first";

durch diesen:

this["var"+i] = "first"

oder diesen:

set ("var" + i, "first");

Verfügbarkeit: ActionScript 1.0, Flash Lite 1.0. Flash Player ab Version 5 für den vollständigen Funktionsumfang. Sie können die eval()-Funktion beim Exportieren für Flash Player 4 einsetzen, müssen jedoch die Schrägstrichnotation verwenden und können nur auf Variablen zugreifen, nicht auf Eigenschaften oder Objekte.

Parameter

expression:Object - Der Name der abzurufenden Variablen oder Eigenschaft bzw. des abzurufenden Objekts oder Movieclips. Dieser Parameter kann entweder ein String oder eine direkte Referenz auf eine Objektinstanz sein (das Einschließen in Anführungszeichen (" ") ist somit optional).

Rückgabewerte

Object - Ein Wert, eine Referenz auf ein Objekt bzw. einen Movieclip oder undefined.

Beispiel

Im folgenden Beispiel wird eval() verwendet, um Eigenschaften von dynamisch benannten Movieclips einzustellen. Dieser ActionScript-Code setzt für die drei Movieclips square1_mc, square2_mc und square3_mc die Eigenschaft _rotation.

for (var i = 1; i <= 3; i++) {
 setProperty(eval("square"+i+"_mc"), _rotation, 5);
}

Sie können auch den folgenden ActionScript-Code verwenden:

for (var i = 1; i <= 3; i++) {
 this["square"+i+"_mc"]._rotation = -5;
}

Siehe auch

Array, set variable-Anweisung