Die Kennung Funktion ist ein reserviertes Wort erstellen, das der Beginn entweder eine FunctionDeclaration ist oder Funktion Ausdruck.Wenn es zu Beginn einer Anweisung ist (oder genauer gesagt, in einem Ort, wo eine Aussage sein kann), wird es als FunctionDeclaration interpretiert und muss von der Form:
function <name> (<parameter list>) { <function body> }
der Name in einem Funktionsdeklaration ist erforderlich.
Wenn es nicht am Anfang einer Anweisung ist, ist es ein FunctionExpression und der Name ist optional, z. es kann sein:
(function() {…})
var a = function() {…};
someFunction(function() {…})
und so weiter. In allen Fällen gibt es einen Verweis auf die Funktion zurück, die zugewiesen (z. B. an eine Variable), aufgerufen, an eine andere Funktion übergeben oder ignoriert werden kann.
Bakudan: Es wird nicht einmal ausgeführt. Es wird ausgeführt, wenn das Ereignis ausgelöst wird. Das ist normalerweise mehr als einmal, und der obige Code wird (ohne Fehler) mehrfach ausgelöst. – Shane
Ich bin mir nicht sicher, was du da sagst. Anonyme Funktionen können bei entsprechendem Zugriff beliebig oft aufgerufen werden. Siehe mein Kommentar unten, das zweite Beispiel. Sie können die letzte Zeile so oft wie möglich kopieren. Es gibt keine unmittelbare Grenze für die Häufigkeit, mit der eine anonyme Funktion aufgerufen werden kann. – Shane
@Bakudan: Nein, du meinst selbst exitutierende (meist anonymus) Funktionsausdrücke. Jede Funktion, auf die Sie verweisen, kann mehrfach ausgeführt werden. – Bergi