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:
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.
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.
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!