Den Zweck von „var that = this;“ verstehen in JavaScript
Bei der Arbeit mit JavaScript stoßen Sie möglicherweise auf Codeausschnitte, die die Anweisung „var that = this;“ enthalten. Dieses Konstrukt spielt eine entscheidende Rolle bei der Erhaltung des Kontexts von „this“ innerhalb verschachtelter Funktionen, insbesondere in Ereignishandlern.
In JavaScript stellt das Schlüsselwort „this“ den aktuellen Kontext oder das Objekt dar, das den verwendeten Code besitzt in. Wenn jedoch eine Funktion innerhalb einer anderen Funktion aufgerufen wird, ändert sich der Wert von „this“. Dies kann zu unerwartetem Verhalten führen, insbesondere in ereignisgesteuertem Code, in dem sich Ereignishandler in Rückrufen befinden.
Der Zweck der Zuweisung von „this“ zu „that“ besteht darin, den aktuellen Kontext des Objekts zu erfassen, bevor er fällig wird zu einer Änderung des Umfangs. Indem Sie „this“ mit „that“ aliasen, stellen Sie sicher, dass der ursprüngliche Wert von „this“ auch innerhalb verschachtelter Funktionen zugänglich bleibt.
Betrachten Sie das folgende Beispiel:
$('#element').click(function() { // this is a reference to the element clicked on var that = this; $('.elements').each(function() { // this is a reference to the current element in the loop // that is still a reference to the element clicked on }); });
In diesem Code , hat die Event-Handler-Funktion über das Schlüsselwort „this“ Zugriff auf das Element, auf das geklickt wurde. Innerhalb der verschachtelten Funktion (each()) bezieht sich der Wert von „this“ jedoch auf das aktuelle Element in der Schleife. Indem Sie „this“ als „that“ in der äußeren Funktion erfassen, können Sie weiterhin auf das Element zugreifen, auf das ursprünglich geklickt wurde.
Die Verwendung anderer Aliase als „that“ wird aus Gründen der Lesbarkeit empfohlen. Im obigen Beispiel würde ein aussagekräftigerer Alias wie „clickedEl“ klarer machen, worauf sich die Variable bezieht.
Zusammenfassend lässt sich sagen: „var that = this;“ ist eine gängige Technik in JavaScript, um den Wert von „this“ über verschiedene Bereiche hinweg beizubehalten. Dadurch wird sichergestellt, dass der ursprüngliche Kontext des Objekts auch dann erhalten bleibt, wenn verschachtelte Funktionen aufgerufen werden.
Das obige ist der detaillierte Inhalt vonWarum „var that = this;' verwenden? in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!