Ich schreibe einen JavaScript-Styleguide für mein Team, damit wir unsere Dokumente einfacher organisieren und beitragen können. Aber ich habe eine kleine Beule getroffen, auf die meine Frage zutrifft ...
Wie soll ich eine anonyme JavaScript-Funktion aufrufen, die sofort aufgerufen wird? Ich weiß, ich könnte es ganz einfach "anonyme Funktion" nennen, aber ich möchte die Tatsache betonen, dass es sofort aufgerufen wird.
Hier ist ein Beispiel:
var MyVariable = (function(data){
return "another value"
})("some value");
console.log(MyVariable);
// "another value"
javascript
coding-style
terminology
silentBeep
quelle
quelle
Antworten:
In der Javascript-Welt gibt es dafür bereits einen Begriff. Sie werden als sofort aufgerufene Funktionsausdrücke (IIFE) bezeichnet .
Was es ist
IIFE-Funktionen erhalten keinen Namen. Stattdessen werden sie einmal ausgeführt, wenn der Interpreter auf sie stößt:
Die letzten Klammern nach der schließenden geschweiften Klammer des Codeblocks weisen den Interpreter an, den Funktionsausdruck sofort aufzurufen.
Wenn Sie eine Funktionsdeklaration schreiben , müssen Sie Gruppierungsoperatoren oder Klammern um die Funktion hinzufügen , um den Interpreter anzuweisen, die Funktion als Ausdruck zu behandeln, der sofort aufgerufen werden kann:
Wenn sie benutzt werden
IIFEs werden für Code verwendet, der nur einmal innerhalb einer Task ausgeführt werden muss, anstatt wiederholt aufgerufen zu werden.
quelle
var area = ...
brauchen Sie die "umschließenden" Klammern für die Funktion nicht, da es sich bereits um einen Funktionsausdruck handelt , da es sich auf der rechten Seite der befindet=
. Die umschließenden Klammern werden nur benötigt, wenn die Funktion als Funktionsdeklaration (dh ohne führende Zeichenvar area = ...
) geschrieben ist.