Heim > Web-Frontend > js-Tutorial > Wann bezieht sich „this' auf das in JavaScript übergebene Argument?

Wann bezieht sich „this' auf das in JavaScript übergebene Argument?

DDD
Freigeben: 2024-11-04 04:59:02
Original
438 Leute haben es durchsucht

When does `this` refer to the argument passed in JavaScript?

Wann bezieht sich dies auf das übergebene Argument?

In JavaScript wird der Wert davon dadurch bestimmt, wie eine Funktion aufgerufen wird. Es gibt einige Szenarien, in denen sich dies auf das an die Funktion übergebene Argument bezieht:

1. Methodenaufruf

Wenn Sie eine Methode eines Objekts mit dem Punktoperator (z. B. obj.method()) aufrufen, bezieht sich dies auf die Objektinstanz (obj) selbst. Wenn in Ihrem Beispiel obj.prepareRandomFunction() aufgerufen wird, bezieht sich dies innerhalb der PrepareRandomFunction-Methode auf obj.

2. Verwendung von .bind()

Die Methode .bind() nimmt eine Funktion und gibt eine neue Funktion zurück, deren Wert beim Aufruf auf den als erstes Argument bereitgestellten Wert gesetzt wird. In Ihrem Beispiel erstellt this.sumData.bind(this) eine neue Funktion, die this an obj bindet. Wenn die randomFunction mit dieser gebundenen Funktion aufgerufen wird, verweist diese interne randomFunction auf obj.

Verwechslung vermeiden

Um Verwirrung zu vermeiden und sicherzustellen, dass sich dies auf das beabsichtigte Objekt bezieht, empfiehlt es sich, dies explizit zu tun Binden Sie diesen Kontext mithilfe von .bind(), wenn Sie Methodenrückrufe an andere Funktionen übergeben. Dadurch wird sichergestellt, dass dies innerhalb der Rückruffunktion den richtigen Wert hat.

Das obige ist der detaillierte Inhalt vonWann bezieht sich „this' auf das in JavaScript übergebene Argument?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage