JavaScript „this“-Zeiger-Rätsel in verschachtelten Funktionen
In einem JavaScript-Code-Snippet ist ein unerwartetes Verhalten in Bezug auf „this“ aufgetreten " 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 normalerweise 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.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3