Heim >Web-Frontend >js-Tutorial >Wie kann ich innerhalb eines JavaScript-Handlers „setInterval' korrekt auf „this' zugreifen?

Wie kann ich innerhalb eines JavaScript-Handlers „setInterval' korrekt auf „this' zugreifen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-06 02:58:13329Durchsuche

How Can I Access `this` Correctly Inside a JavaScript `setInterval` Handler?

Zugriff darauf über einen JavaScript-setInterval-Handler

Bei der Verwendung von setInterval in JavaScript kann es schwierig sein, auf die darin enthaltene Objektinstanz (dies) zuzugreifen die Handler-Funktion. Dies liegt daran, dass setInterval einen neuen Kontext für die Handler-Funktion erstellt.

Um dieses Problem zu lösen, können wir den Handler an die Objektinstanz binden und so sicherstellen, dass er Zugriff auf das Schlüsselwort this hat. So geht's:

this.intervalID = setInterval(this.retrieve_rate.bind(this), this.INTERVAL);

In diesem modifizierten Code wird die Bindungsmethode verwendet, um eine neue Funktion zu erstellen, die an die aktuelle Objektinstanz gebunden ist. Diese Funktion wird dann als Handler an setInterval übergeben.

Innerhalb der Funktion „retrie_rate handler“ haben Sie jetzt Zugriff auf das Schlüsselwort „this“ und können damit auf die Eigenschaft „prefs“ zugreifen:

retrieve_rate: function() {
  // access prefs here
  // this.prefs
}

Das obige ist der detaillierte Inhalt vonWie kann ich innerhalb eines JavaScript-Handlers „setInterval' korrekt auf „this' zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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