Cara Mengawal Selang dengan setInterval dan clearInterval
Dalam konteks pengendalian acara papan kekunci, persoalan timbul tentang penggunaan setInterval dan clearInterval untuk menguruskan pelaksanaan fungsi. Mari kita terokai perbezaan antara kaedah ini.
setInterval: Menyediakan Pemasa Berulang
setInterval menetapkan pemasa yang melaksanakan fungsi berulang kali pada selang waktu tertentu dalam milisaat. Sebagai contoh, kod berikut menyediakan pemasa untuk memanggil fungsi drawAll() setiap 20 milisaat:
setInterval(drawAll, 20);
Walau bagaimanapun, jika anda berhasrat untuk memanggil fungsi sekali sahaja, menggunakan setInterval adalah tidak sesuai, kerana ia mewujudkan gelung berterusan. Untuk mengelakkan ini, anda boleh menggunakan clearInterval.
clearInterval: Membatalkan Pemasa
clearInterval membolehkan anda menghentikan pemasa berulang. Ia menerima pemegang yang dikembalikan oleh setInterval sebagai hujah. Dengan menetapkan pemegang kepada 0, anda boleh membatalkan pemasa dan menghalangnya daripada menembak lebih jauh:
var handle = setInterval(drawAll, 20); // When you want to cancel it: clearInterval(handle); handle = 0;
Menggunakan setTimeout untuk Pelaksanaan Satu Kali
Jika anda perlukan untuk menjadualkan fungsi untuk dilaksanakan sekali sahaja, gunakan setTimeout sebaliknya. Ia menyediakan fungsi yang serupa tetapi tidak mencipta gelung berulang. Kod berikut memanggil fungsi drawAll() sekali selepas kelewatan 20-milisaat:
setTimeout(drawAll, 20);
Ingat, setInterval sesuai untuk mencipta pemasa yang berulang kali melaksanakan fungsi, manakala clearInterval digunakan untuk menghentikan pemasa sedemikian. Sebaliknya, setTimeout digunakan untuk menjadualkan fungsi untuk diaktifkan sekali sahaja selepas kelewatan yang ditentukan.
Atas ialah kandungan terperinci Bagaimana untuk Menggunakan `setInterval` dan `clearInterval` untuk Pelaksanaan Fungsi Terkawal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!