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!