Heim >Web-Frontend >js-Tutorial >Wie verhält sich das Schlüsselwort „this' in Modulen und Funktionen von Node.js?

Wie verhält sich das Schlüsselwort „this' in Modulen und Funktionen von Node.js?

Linda Hamilton
Linda HamiltonOriginal
2024-12-06 06:03:10788Durchsuche

How Does the `this` Keyword Behave in Node.js Modules and Functions?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn