Heim > Web-Frontend > js-Tutorial > Wie verhält sich „this' in jQuery und JavaScript unterschiedlich?

Wie verhält sich „this' in jQuery und JavaScript unterschiedlich?

Patricia Arquette
Freigeben: 2024-10-26 03:44:03
Original
824 Leute haben es durchsucht

How does

„this“ in jQuery und JavaScript verstehen

„this“ ist ein äußerst vielseitiges Schlüsselwort in JavaScript und jQuery. Seine Bedeutung variiert je nach Kontext, in dem es verwendet wird.

„this“ in jQuery

In jQuery bezieht sich „this“ normalerweise auf das DOM-Element, das manipuliert die Funktion, die aufgerufen wird. Beispielsweise in einem Event-Callback-Handler:

$("div").click(function() {
    // Here, "this" refers to the DOM element for the clicked div.
    this.style.color = "red";
});
Nach dem Login kopieren

„this“ in JavaScript

In JavaScript wird die Bedeutung von „this“ durch den Aufrufkontext bestimmt (nicht der Definitionskontext):

  • Objektmethode: Wenn es als Eigenschaft eines Objekts aufgerufen wird, bezieht sich „this“ auf dieses Objekt.
var obj = {
    foo: function() {
        alert(this.firstName);
    },
    firstName: "Fred"
};
Nach dem Login kopieren
  • Funktionsaufruf: Wenn eine Funktion aufgerufen wird, ohne an ein Objekt gebunden zu sein, ist „dies“ standardmäßig das globale Objekt (normalerweise „Fenster“ in Browsern).
function foo() {
    alert(this.firstName);
}
Nach dem Login kopieren
  • Function.call(): Mit der Methode „.call()“ können Sie den Wert von „this“ für einen Funktionsaufruf explizit angeben.
foo.call(obj, 42, 27);
Nach dem Login kopieren
  • Function.apply(): Ähnlich wie „.call()“, empfängt jedoch ein Array von Argumenten anstelle einzelner Argumente.
foo.apply(obj, [42, 27]);
Nach dem Login kopieren

Besondere Überlegungen:

  • Im strengen ES5-Modus kann „this“ einen beliebigen Wert haben, im Gegensatz zum losen Modus, wo standardmäßig „object“ verwendet wird.
  • jQuery verwendet eine etwas andere Implementierung von „this“ in seiner „.each“-Methode.
  • Um „this“ gründlich zu verstehen, ist eine tiefere Untersuchung des Aufrufkontexts und des Objektbereichs von JavaScript erforderlich.

Das obige ist der detaillierte Inhalt vonWie verhält sich „this' in jQuery und JavaScript unterschiedlich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage