Zugriff darauf in verschachtelten Funktionen: Enträtselung von var that = this;
In JavaScript ist es entscheidend, den Umfang und Wert davon zu verstehen. Betrachten Sie den folgenden Codeausschnitt:
function Somefunction() { var that = this; ... }
Warum wird das deklariert und ihm der Wert zugewiesen?
Um den Zweck dieser Technik zu verstehen, stellen wir uns ein Szenario vor:
var colours = ['red', 'green', 'blue']; document.getElementById('element').addEventListener('click', function() { // this points to the clicked element var that = this; colours.forEach(function() { // this is undefined within this inner function // that still refers to the clicked element }); });
Dies innerhalb des forEach-Rückrufs bezieht sich auf das aktuelle Array-Element, nicht auf das angeklickte Element. Dadurch bleibt jedoch ein Verweis auf das angeklickte Element erhalten.
Wenn Sie in verschachtelte Funktionen wechseln, kann sich der Umfang ändern, was den Zugriff auf den ursprünglichen Wert erschwert. Durch Aliasing von this auf that wird sichergestellt, dass der ursprüngliche Wert weiterhin zugänglich ist.
Beachten Sie, dass die Verwendung als Alias nicht immer optimal ist. Es ist besser, einen aussagekräftigeren Alias zu verwenden, der klar angibt, worauf er sich bezieht, insbesondere bei komplexen Funktionen.
Das obige ist der detaillierte Inhalt vonWarum „var that = this;' in verschachtelten JavaScript-Funktionen verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!