Bedeutung von „this“ in Node.js-Modulen und -Funktionen
In Node.js kann der Wert von „this“ je nach variieren vom Kontext, in dem es verwendet wird.
Modulumfang vs. Funktion Geltungsbereich
-
Modulumfang: Innerhalb eines Node.js-Moduls (geladen durch require()) bezieht sich „this“ auf module.exports, bei dem es sich um ein leeres Objekt handelt standardmäßig.
-
Funktionsbereich: Innerhalb einer Funktion bezieht sich „this“ auf das globale Objekt (außer in strict Modus).
Funktionsaufruf
- Der Wert von „this“ in einer Funktion wird dadurch bestimmt, wie sie aufgerufen wird.
- Der direkte Aufruf einer Funktion (z. B. aFunction()) setzt „this“ auf das globale Objekt in nicht strikter Weise Modus.
- Der Aufruf einer Funktion als Methode (z. B. obj.aFunction()) setzt „this“ auf die Objektinstanz.
- Mit bind(), call() oder apply( ) zum Aufrufen einer Funktion ermöglicht es Ihnen, den Wert „this“ explizit anzugeben.
Injected Global Objekt
- Node.js fügt das globale Objekt in „this“ in Funktionsbereichen ein.
- Das liegt daran, dass Funktionen normalerweise ohne einen bestimmten Objektkontext aufgerufen werden.
- Allerdings wird „this“ nicht in den Modulbereich eingefügt, da die Modul-Wrapping-Funktion (erstellt von Node.js) „this“ explizit zuweist module.exports.
Das obige ist der detaillierte Inhalt vonWie verhält sich das Schlüsselwort „this' in Modulen und Funktionen von Node.js?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!