molily: Statements und die Reihenfolge der Ausführung

Beitrag lesen

Hallo,

this.classe_funktion();
    this.classe_funktion = function()
    {
    }

Ein Programm wird von oben nach unten Anweisung für Anweisung abgearbeitet. Das ist nichts anderes als:

alert(a);
var a = "wert";

Die Variable ist natürlich erst verfügbar, nachdem sie gesetzt wurde, deshalb wirft dieser Code einen Fehler.

Es gibt nur eine Ausnahme: Funktionsdeklarationen. Man kann schreiben:

bla();
function bla () {}

Aber man kann nicht schreiben:

bla();
var bla = function () {};

(Obwohl das haargenau denselben Effekt hat!)

Warum? Weil Expression Statements (in dem Fall mit Assigment Expressions) nacheinander ausgeführt werden.

Mathias