In JS muss dieses Zeigen für Anfänger ein schwieriges Problem sein, aber wenn Sie es wirklich verstehen, wird es kein Problem geben. Lassen Sie uns unten darüber sprechen.
In JS hängt der Wert davon vom Muster des Aufrufs ab (das Anrufobjekt), und es gibt 4 Arten von Aufrufmustern in JS:
1. Funktionsaufrufmodus
Wenn eine Funktion keine Eigenschaft eines Objekts ist, wird sie zweimal als Funktion aufgerufen. Zu diesem Zeitpunkt weist dies in der Funktion auf das globale Objekt hin (im Fall eines großen Logarithmus ist es ein Fenster)
Fenster.Value = 1; Funktion getValue () {console.log (this.value);} getValue (); // Ausgabe 1, dieser Punkt zum Fenster2. Methodenaufrufmodus
Wenn eine Funktion die Eigenschaft eines Objekts ist, nennen wir es eine Methode des Objekts. Wenn eine Methode aufgerufen wird, weist dies auf das Objekt hin
var obj = {value: 2, getValue: function () {console.log (this.Value); // Ausgabe 2, dies zeigt auf obj}}! ! ! In diesem Modus tritt die Bindung davon an das Objekt auf, wenn die Methode aufgerufen wird
3.. Konstruktor -Anrufmodus
Die mit neue Funktion genannte Funktion wird als Konstruktorfunktion bezeichnet. Zu diesem Zeitpunkt weist dies auf das Objekt hin, das von der Konstruktor -Funktionsinstanz stammt
Funktion main (val) {this.Value = val;} main.prototype.getValue = function () {console.log (this.value);} var fun = new Main (3);4. Rufen Sie den Anruf an und binden Sie an und binden Sie
Die Methoden anwenden, rufen Sie an, ermöglichen es uns, festzustellen, auf wen dies im Anrufer verweist
Funktion showValue () {console.log (this.Value);} var obj = {value: 4} showValue.call (obj) // Ausgabe 4, dies zeigt auf das OBJ -ObjektIn ECMA5 wurde eine neue Bindungsmethode hinzugefügt. Sie können die spezifische Verwendung googeln. Hier ist eine Demonstration der Verwendung dieser Bindung.
Funktion showValue () {console.log (this.Value);} var obj = {value: 4} var showValue2 = showValue.bind (OBJ); ShowValue2 () // Ausgabe 4, dies zeigt auf das OBJ -ObjektEs gibt viele Verwendungszwecke von Bind. Sie können es selbst überprüfen
Das obige Klischee darüber in JS ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.