Читать книгу JavaScript – Das Handbuch für die Praxis - David Flanagan - Страница 86

4.7.6Reihenfolge der Auswertung

Оглавление

Operatorvorrang und Assoziativität bedingen die Reihenfolge, in der die Operationen in einem komplexen Ausdruck ausgeführt werden. Sie legen jedoch nicht fest, in welcher Reihenfolge Unterausdrücke ausgewertet werden. Ausdrücke werden in JavaScript immer streng von links nach rechts evaluiert. In dem Ausdruck w = x + y * z wird z.B. zuerst der Unterausdruck w ausgewertet, gefolgt von x, y und z. Dann werden die Werte von y und z multipliziert, zum Wert von x addiert und der durch den Ausdruck w spezifizierten Variablen oder Eigenschaft zugewiesen. Fügt man Ausdrücken Klammern hinzu, lässt sich dadurch die relative Reihenfolge der Multiplikation, Addition und Zuweisung ändern, nicht aber die Auswertungsreihenfolge, die von links nach rechts stattfindet.

Die Auswertungsreihenfolge wird nur dann relevant, wenn einer der ausgewerteten Ausdrücke Nebeneffekte hat, die den Wert eines anderen Ausdrucks betreffen. Inkrementiert der Ausdruck x eine Variable, die von Ausdruck z genutzt wird, wird der Umstand relevant, dass x vor z ausgewertet wird.

JavaScript  –  Das Handbuch für die Praxis

Подняться наверх