JavaScript „this“-Zeiger-Rätsel in verschachtelten Funktionen
In einem JavaScript-Codeausschnitt sind Sie auf ein unerwartetes Verhalten in Bezug auf „this“ gestoßen " Zeiger innerhalb einer verschachtelten Funktion. Obwohl die verschachtelte Funktion innerhalb einer Objektmethode definiert ist, zeigt der „this“-Zeiger innerhalb der verschachtelten Funktion auf das globale „window“-Objekt.
Das Verhalten des „this“-Zeigers wird durch die Funktionsaufrufmethode in bestimmt JavaScript. Es gibt drei Hauptmethoden:
Direkter Aufruf: someThing.someFunction(arg1, arg2, argN)
Funktionsaufruf mit call(): someFunction.call(someThing, arg1, arg2, argN)
Funktionsaufruf mit apply() : someFunction.apply(someThing, [arg1, arg2, argN])
In dem von Ihnen bereitgestellten Beispiel wird die verschachtelte Funktion ohne eine der expliziten Funktionsaufrufmethoden aufgerufen. Daher ist der „this“-Zeiger standardmäßig auf das globale Objekt eingestellt, bei dem es sich in der Regel um das „window“-Objekt in einer Browserumgebung handelt.
Um das Verhalten des „this“-Zeigers explizit anzugeben, können Sie die folgenden Modifikationen verwenden :
Durch Verwendung einer dieser Methoden können Sie das Verhalten des „this“-Zeigers innerhalb verschachtelter Funktionen steuern und sicherstellen, dass er auf das gewünschte Objekt verweist.
Das obige ist der detaillierte Inhalt vonWarum zeigt der „this'-Zeiger in verschachtelten JavaScript-Funktionen auf das globale Objekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!