Vorwort: Dieses Objekt funktioniert nur, wenn der strikte Modus nicht verwendet wird. Dieses Objekt ist zur Laufzeit an die Ausführungsumgebung der Funktion gebunden.
Fall 1: In einer globalen Funktion ist dies gleich dem Fenster. Nur wenn die Funktion als Methode eines Objekts aufgerufen wird, ist dies gleich diesem Objekt. Wenn Sie immer noch nicht wissen, was eine globale Funktion ist, lesen Sie bitte hier nach und klicken Sie, um den Link zu öffnen
Fall 2: Die Ausführungsumgebung der anonymen Funktion ist global, dies weist normalerweise darauf hin zum Fenster
Zum Beispiel
var name = "window"; var object = { name: "Object name", getNameFunc: function () { return function (){ return this.name; }; } }; console.log(object.getNameFunc() ()); // 输出window
Fall 3: Speichern Sie das this-Objekt im externen Bereich in einer Variablen, auf die durch den Abschluss zugegriffen werden kann, damit this kann auf dieses Objekt im Gültigkeitsbereich zeigen
Zum Beispiel
var name = "window"; var object = { name: "Object name", getNameFunc: function () { var that = this; return function (){ return that.name; }; } }; console.log(object.getNameFunc() ()); // 输出Object name
Fall 4: Weisen Sie zuerst die Funktion zu und führen Sie sie dann aus. Der Wert davon kann nicht sein gepflegt
Zum Beispiel
var name = "window"; var object = { name: "Object name", getName: function () { return this.name; } }; console.log((object.getName = object.getName) ()); // 输出window
Fall 5: Wenn die Ausführungsumgebung der Funktion durch Aufruf oder Anwenden geändert wird, zeigt dies auf andere Objekte
Das obige ist der detaillierte Inhalt vonDas Verständnis davon in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!