nehme ich eine Funktion a haben:Wie passieren „dieses“ Fenster setInterval
function a() {
this.b = 1;
this.set = setInterval(function() {console.log(this.b);}, 200);
}
Also, wenn a.set() wird die anonyme Funktion aufgerufen wird aufgerufen. Aber das wird nicht funktionieren, da dies zu dem Zeitpunkt ist, an dem die Funktion ausgelöst wird, auf das Fensterobjekt zeigt. Es ist auch keine gute Idee a.b zu verwenden, da es mehrere Instanzen von a gibt.
Was ist eine gute Lösung für dieses Problem?
Warum verwenden Sie nicht "apply" oder "call" https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply – Deeptechtons
@Deeptchtons - ich glaube nicht, "apply" oder 'call' ist für dieses Problem nützlich, aber vielleicht könnten Sie erklären, was Sie in einer Antwort vorhatten? – nnnnnn
@nnnnnn Frage ist definitiv ein Kandidat für "Wie ändere ich Kontext innerhalb der Funktion" Art der Frage. Welches wird mit appy oder Anruf gelöst. Aber könnte für diesen Fall übertrieben sein. – Deeptechtons