Heim > Web-Frontend > js-Tutorial > Warum „var that = this;' in JavaScript verwenden?

Warum „var that = this;' in JavaScript verwenden?

Linda Hamilton
Freigeben: 2024-12-18 02:30:10
Original
471 Leute haben es durchsucht

Why Use `var that = this;` in JavaScript?

„var that = this;“ verstehen in JavaScript

In JavaScript repräsentiert das Schlüsselwort „this“ das aktuelle Objekt. Durch die Zuweisung von „this“ zu „var that“ können Entwickler einen Verweis auf die ursprüngliche Objektreferenz beibehalten, auf den später zugegriffen werden kann, auch innerhalb verschachtelter Funktionen, in denen sich „this“ ändern kann.

Beachten Sie den folgenden Codeausschnitt:

function Somefunction(){
   var that = this; 
   ... 
}
Nach dem Login kopieren

Hier stellt die Zuweisung von „this“ zu „that“ sicher, dass sich „that“ innerhalb des „Somefunction“-Bereichs immer auf die ursprüngliche Objektinstanz bezieht. Dies ist von Vorteil, wenn Sie mit Abschlüssen oder Ereignishandlern arbeiten, bei denen sich die „this“-Referenz nach dem Aufruf einer verschachtelten Funktion ändern kann.

Zur Veranschaulichung: Angenommen, Sie haben eine Funktion, die auf ein „click“-Ereignis für ein Element wartet:

var colours = ['red', 'green', 'blue'];
document.getElementById('element').addEventListener('click', function() {
    // this is a reference to the element clicked on

    var that = this;

    colours.forEach(function() {
        // this is undefined
        // that is a reference to the element clicked on
    });
});
Nach dem Login kopieren

Im Event-Handler bezieht sich „this“ auf das Element, auf das geklickt wurde, aber innerhalb der inneren „forEach“-Funktion wird „this“ undefiniert. Indem Sie es mit „that“ aliasen, können Sie immer noch auf den ursprünglichen Verweis auf das angeklickte Element zugreifen.

Zusammenfassend: „var that = this;“ stellt sicher, dass ein konsistenter Verweis auf das aktuelle Objekt beibehalten wird, was es besonders nützlich in Ereignisbehandlungs- oder Abschlussszenarien macht, in denen sich „dies“ dynamisch ändern kann. Erwägen Sie jedoch aus Gründen der Klarheit die Verwendung eines aussagekräftigeren Alias, z. B. „clickedEl“ oder „currentElement“, um die Codeabsicht deutlicher zu machen.

Das obige ist der detaillierte Inhalt vonWarum „var that = this;' in JavaScript verwenden?. 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