Sie sind hier 431
Funktionen erster Klasse
Funktionsdeklarationen im Vergleich mit Funktionsausdrücken
Egal ob Sie eine Funktionsdeklaration oder einen Funktionsausdruck verwenden, Sie bekommen
immer eine Funktion. Aber wo ist der Unterschied? Ist die Deklaration nicht einfach bequemer?
Oder haben Funktionsausdrücke etwas an sich, das sie nützlicher macht? Oder sind es einfach zwei
Wege zum gleichen Ziel?
Auf den ersten Blick scheinen sich Funktionsdeklarationen und -ausdrücke kaum zu unterscheiden.
Tatsächlich gibt es zwischen beiden aber fundamentale Unterschiede. Um das zu verstehen, müssen
wir uns ansehen, wie der Browser Ihren Code zur Laufzeit behandelt. Hören wir also mal in den
Browser hinein, während er den Code in Ihrer Seite parst und auswertet.
Der Browser.
Großartig. Die Seite
enthält Code, der
verarbeitet werden muss.
var migrating = true;
var fly =
function(num) {
for (var i = 0; i < num; i++) {
console.log("Ich fliege!");
}
};
function
quack(num) {
for (var i = 0; i < num; i++) {
console.log("Quak!");
}
}
if (migrating) {
quack(4);
fly(4);
}
Zu Beginn durchsuche
ich den Code immer auf
Funktionsdeklarationen.
Diese Variablendeklaration ist keine
Funktionsdeklaration. Daher ignorieren
wir sie und machen einfach weiter.
Als Nächstes haben
wir einen Funktions-
ausdruck in einer
Anweisung. Das ist
keine Deklaration,
also weiter im Text!
Ah, hier haben wir eine
Funktionsdeklaration.
Darum müssen wir uns
kümmern. Das machen wir
auf der nächsten Seite …
Nachdem wir uns um die obige
Deklaration gekümmert haben, ist der
folgende Code nicht so wichtig, da er
keine Funktionsdeklarationen enthält.

Get JavaScript-Programmierung von Kopf bis Fuß now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.