Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengakses `ini` Dengan Betul Di Dalam Pengendali `setInterval` JavaScript?

Bagaimanakah Saya Boleh Mengakses `ini` Dengan Betul Di Dalam Pengendali `setInterval` JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-12-06 02:58:13331semak imbas

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

Mengakses ini daripada JavaScript setInterval Handler

Apabila menggunakan setInterval dalam JavaScript, ia boleh menjadi mencabar untuk mengakses contoh objek (ini) dalam fungsi pengendali. Ini kerana setInterval mencipta konteks baharu untuk fungsi pengendali.

Untuk menyelesaikan isu ini, kami boleh mengikat pengendali pada contoh objek, memastikan ia mempunyai akses kepada kata kunci ini. Begini caranya:

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

Dalam kod yang diubah suai ini, kaedah bind digunakan untuk mencipta fungsi baharu yang terikat pada contoh objek semasa. Fungsi ini kemudiannya diserahkan sebagai pengendali kepada setInterval.

Dalam fungsi pengendali kadar_pulih, anda kini mempunyai akses kepada kata kunci ini dan boleh menggunakannya untuk mengakses sifat prefs:

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

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses `ini` Dengan Betul Di Dalam Pengendali `setInterval` 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