Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengakses `ini` dengan betul dalam Pengendali `setInterval` dalam JavaScript?

Bagaimana untuk Mengakses `ini` dengan betul dalam Pengendali `setInterval` dalam JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-01 05:49:13992semak imbas

How to Correctly Access `this` in `setInterval` Handlers in JavaScript?

Mengakses ini dalam setInterval Handlers dalam JavaScript

Apabila menggunakan setInterval untuk menjadualkan pelaksanaan fungsi pada selang waktu tertentu, selalunya perlu untuk mengakses objek yang memulakan selang dalam fungsi pengendali. Walau bagaimanapun, kata kunci ini di dalam pengendali mungkin tidak merujuk kepada konteks yang betul, yang membawa kepada ralat.

Penyelesaian: Menggunakan bind

Untuk memastikan kata kunci ini merujuk kepada objek yang dimaksudkan dalam pengendali setInterval, anda boleh menggunakan kaedah bind(). Seperti yang ditunjukkan dalam kod di bawah:

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

Dengan mengikat fungsi retrieve_rate pada konteks semasa ini, kata kunci ini dalam fungsi ajax.onload akan menghala dengan betul ke objek yang memulakan selang. Ini membolehkan anda mengakses harta this.prefs seperti yang dikehendaki.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses `ini` dengan betul dalam Pengendali `setInterval` dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn