Heim  >  Artikel  >  Web-Frontend  >  Wie verhält sich das Schlüsselwort „this“ in jQuery und JavaScript?

Wie verhält sich das Schlüsselwort „this“ in jQuery und JavaScript?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-26 19:41:29348Durchsuche

How Does the

Was bedeutet „this“ in jQuery?

In jQuery stellt „this“ das DOM-Element dar, das Gegenstand der Funktion ist gerufen wird. Dies wird häufig in Ereignisrückrufen und Funktionen verwendet, die auf mehrere Elemente wirken. Zum Beispiel:

<code class="javascript">$("div").click(function() {
  this.style.color = "red";
});</code>

Dies setzt die Vordergrundfarbe des angeklickten Elements auf Rot.

Generell in JavaScript

In JavaScript „this " bezieht sich auf das Objekt, das die Funktion aufruft. Dies hängt davon ab, wie die Funktion aufgerufen wird, und nicht davon, wo sie definiert ist.

<code class="javascript">var obj = {
  firstName: "Fred",
  foo: function() {
    alert(this.firstName);
  }
};

obj.foo(); // alerts "Fred"</code>

In diesem Beispiel wird „this“ auf obj gesetzt, wenn foo aufgerufen wird. Der Wert von „this“ kann jedoch ein beliebiges Objekt sein, einschließlich des globalen Objekts (Fenster in Browsern).

<code class="javascript">f(); // Probably alerts "undefined"

//... Later

var obj = {
  firstName: "Wilma"
};

f = obj.foo;
f(); // alerts "Wilma"</code>

Im obigen Beispiel ist f ein Verweis auf die foo-Funktion. Wenn f ohne Objekteigenschaft aufgerufen wird, wird „this“ standardmäßig auf das globale Objekt gesetzt.

Strikter ES5-Modus

Im strikten ES5-Modus kann „this“ jedes haben Wert, einschließlich Nichtobjekten. Wenn „this“ nicht explizit festgelegt ist, ist es standardmäßig undefiniert.

<code class="javascript">"use strict";

function test(msg) {
    console.log("[Strict] " + msg + "; typeof this = " + typeof this);
}

test(); // typeof this = undefined
test.call(5); // typeof this = number</code>

Im regulären (nicht strengen) Modus hätten alle diese Aufrufe typeof this = object zurückgegeben.

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

Stellungnahme:
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