Heim > Web-Frontend > js-Tutorial > Dieser Mechanismus in JavaScript_Grundkenntnisse

Dieser Mechanismus in JavaScript_Grundkenntnisse

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-05-16 15:16:51
Original
1257 Leute haben es durchsucht

JavaScript verfügt über einen eigenen Mechanismus. In verschiedenen Situationen ist die Ausrichtung unterschiedlich.

Globale Reichweite

console.log(this); //全局变量
Nach dem Login kopieren

Der globale Bereich verwendet dies, um auf globale Variablen zu verweisen, die ein Fenster in der Browserumgebung sind.

Hinweis: Der strikte Modus von ECMAScript5 verfügt über keine globalen Variablen und diese sind hier undefiniert.

Funktionsaufruf

function foo() {
  console.log(this);
}

foo(); //全局变量

Nach dem Login kopieren

Dieser Funktionsaufruf verweist auch auf globale Variablen.

Hinweis: Der strikte Modus von ECMAScript5 verfügt über keine globalen Variablen und diese sind hier undefiniert.

Objektmethodenaufruf

var test = {
  foo: function () {
    console.log(this);
  }
}

test.foo(); //test对象

Nach dem Login kopieren

Bei Objektmethodenaufrufen verweist dies auf den Aufrufer.

var test = {
  foo: function () {
    console.log(this);
  }
}

var test2 = test.foo;
test2(); //全局变量

Nach dem Login kopieren

Aufgrund der späten Bindungsfunktion wird im obigen Beispiel jedoch auf die globale Variable verwiesen, was einem direkten Aufruf der Funktion entspricht.

Dies ist sehr wichtig. Das gleiche Codesegment kann nur ermittelt werden, wenn

ausgeführt wird

Konstrukteur

function Foo() {
  console.log(this);
}

new Foo(); //新创建的对象
console.log(foo); 

Nach dem Login kopieren

Im Konstruktor verweist dies auf das neu erstellte Objekt.

Stellen Sie dies explizit ein

function foo(a, b) {
  console.log(this);
}

var bar = {};

foo.apply(bar, [1, 2]); //bar
foo.call(1, 2); //Number对象

Nach dem Login kopieren

Bei Verwendung der Call- oder Apply-Methode von Function.prototype wird dieser innerhalb der Funktion als erster übergebener Parameter festgelegt.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage