Verwirrt über dieses JavaScript-Muster

8

Treffen Sie die folgenden Codezeilen, können Sie aber nicht verstehen.

Was ist das (/ .../)(this); Zweck in Javascript? Hat es einen Namen für dieses Muster?

Code wie folgt:

%Vor%     
TonyTakeshi 05.04.2012, 05:44
quelle

3 Antworten

5

Dieses Muster ist eine sofort aufgerufene Funktion Expresssion ". Kurz gesagt, es ist nur eine Funktion, die sofort ausgeführt wird. Das this am Ende ist ein Parameter, der an die innere Funktion gesendet wird, auf die als exports

zugegriffen wird %Vor%

In Ihrem Beispiel können wir annehmen, dass was auch immer this war, es ist ein Objekt, dem eine Move -Methode hinzugefügt wurde.

Einige nennen dieses Muster auch das " Modulmuster " in gewisser Weise dass es eine "contained environment" erzeugt, so dass das Zeug darin aufgrund eines neuen Funktionsumfangs nicht sichtbar ist. mit anderen Worten, was auch immer drinnen ist, sieht das Äußere, aber das Äußere kann nur sehen, was das Innere es sehen lässt

    
Joseph 05.04.2012, 05:48
quelle
3

Dieses Muster macht exports zum Zeitpunkt der Ausführung einfach this zugewiesen.

Unter der Annahme des globalen Gültigkeitsbereichs und eines Browsers zeigt this auf das Objekt window .

Unter Berücksichtigung dieser Annahmen sollte window.Move die Funktion enthalten, die innerhalb dieses IIFE (Ausdruck der direkt aufgerufenen Funktion) zugewiesen ist.

Wenn diese Funktion in einem anderen Kontext aufgerufen wurde, in dem this nicht window ist, weist sie diese Methode dem an, was this in der äußeren Umgebung war.

    
alex 05.04.2012 05:46
quelle
1

Dieses Muster wird "Modulmuster" genannt. Es gibt verschiedene Untermuster und dieses verwendete das erweiterte Modulmuster.

  

Zuerst importieren wir das Modul, dann fügen wir Eigenschaften hinzu, dann exportieren wir   es. Hier ein Beispiel, das unser MODUL von oben erweitert:

Weitere Informationen zu diesem Modul-Muster finden Sie unter Ссылка

Lesen Sie mehr über allgemeine Javascript-Muster Ссылка

    
Ramesh 05.04.2012 05:55
quelle

Tags und Links