Heim > Artikel > Web-Frontend > JS nützlicher Informationsaustausch – dies weist auf das Problem hin
Normalerweise ist die Verwendung von etwas verwirrend, deshalb habe ich eine Zusammenfassung geschrieben.
Bevor es keine Pfeilfunktion gab, sagten wir: Dies ist das Umgebungsobjekt, in dem die Funktion ausgeführt wird, aber in der Pfeilfunktion ist dies das Objekt, in dem sie definiert ist Jeder weiß zuerst: Funktion läuft Das Umgebungsobjekt, in dem es sich gerade befindet.
1. Als Funktionsaufruf zeigt dies auf das globale Objekt
2. Als Methodenaufruf für ein Objekt ist das Objekt der aufrufende Kontext , und dies zeigt auf das Objekt .
3. Als Konstruktoraufruf versucht der Konstruktor, das neu erstellte Objekt zu initialisieren und verwendet dieses Objekt als aufrufenden Kontext, wobei dieser auf das neu erstellte Objekt verweist.
4. Indirekter Aufruf über die Call/Apply-Methode. Der erste Parameter der Call/Apply-Methode ist der Aufrufkontext es wird durch dieses Zitat erhalten.
In der Pfeilfunktion ist das dieses Objekt der Bereich, in dem es definiert ist. Das heißt, die Pfeilfunktion selbst hat keinen this und der interne this ist der äußere Code this im Blockbereich.
5, unabhängige Funktion
Die Pfeilfunktion ist in der globalen Umgebung definiert, also Dies zeigt auf Fenster
6, Objektmethoden
Wie oben gezeigt, ist foo global definiert, also zeigt dies auf Fenster, also wie diesen Punkt auf obj verweisen?
Laut dem vorherigen Artikel gilt: Wenn eine Funktion als Methode eines Objekts aufgerufen wird, zeigt dies auf das Objekt und kann wie folgt umgeschrieben werden:
func wird definiert, wenn foo aufgerufen wird. Zu diesem Zeitpunkt ist der Gültigkeitsbereich von foo obj, also zeigt dies auf obj
7 und Konstruktor Da die Pfeilfunktion dies nicht hat, kann sie nicht als Konstruktorfunktion verwendet werden, da sonst ein Fehler gemeldet wird
8, bind/call
wie oben: func ist global definiert, daher gibt es 0 aus. Genau wie die Objektmethode können wir sie wie folgt umschreiben zum Ausdrucken 1
Empfohlenes Tutorial: „JS Tutorial 》
Das obige ist der detaillierte Inhalt vonJS nützlicher Informationsaustausch – dies weist auf das Problem hin. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!