Das Schlüsselwort var
in JavaScript bewirkt, dass eine Variable im lokalen Bereich gespeichert wird. Ohne var
gehören Variablen zum globalen Gültigkeitsbereich. Was ist mit Funktionen? Es ist klar, was passiert, wenn Funktionen wie Variablen deklariert werdenJavaScript-Bereich der Funktionsdeklarationen
var foo = function() {...}
aber was Umfang tut
function foo() {...}
gehören?
EDIT: Ich erkannte, dass ich nicht die richtige Frage als Follow-up gefragt habe. In der äußersten Verschachtelung gibt es einen Unterschied zwischen den obigen zwei Deklarationen und der folgenden Deklaration?
foo = function() {...}
Das ist ein großartiger Artikel. Vielen Dank. – user1816847
Ein bemerkenswerter Unterschied, den ich vergessen habe zu erwähnen, ist das, was Bergi in seiner Antwort sagte: Funktionsdeklarationen werden gehisst, so dass Sie die Funktion aufrufen können, bevor sie tatsächlich im Quellcode erscheint. – bfavaretto