Rumah >hujung hadapan web >tutorial js >Bagaimana Menggunakan `setInterval` dan `clearInterval` dengan Berkesan dalam JavaScript?

Bagaimana Menggunakan `setInterval` dan `clearInterval` dengan Berkesan dalam JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-12-13 13:12:11767semak imbas

How to Effectively Use `setInterval` and `clearInterval` in JavaScript?

Menggunakan setInterval dan clearInterval Dengan Berkesan

Dalam JavaScript, setInterval membenarkan anda menyediakan pemasa yang menyala berulang kali pada selang waktu tertentu. Ini boleh berguna untuk animasi atau tugas lain yang memerlukan gelung. Walau bagaimanapun, dalam sesetengah kes, anda mungkin hanya mahu melaksanakan fungsi sekali sahaja, bukannya secara berterusan.

Menggunakan clearInterval untuk Mengganggu Gelung Berjadual

Jika anda telah menyediakan pemasa menggunakan setInterval, anda boleh menggunakan clearInterval untuk menghentikannya daripada menembak. Ini berguna jika anda ingin menamatkan gelung lebih awal:

var handle = setInterval(drawAll, 20);

// When you want to cancel it:
clearInterval(handle);
handle = 0; // Flag to indicate cleared interval

Hendal yang dikembalikan oleh setInterval lazimnya ialah nombor yang tidak sama dengan 0. Oleh itu, menggunakan 0 sebagai nilai bendera menunjukkan bahawa tiada pemasa ditetapkan.

Menjadualkan Panggilan Fungsi Sekali dengan setTimeout

Daripada menggunakan setInterval untuk panggilan fungsi sekali, pertimbangkan untuk menggunakan setTimeout sebaliknya:

setTimeout(drawAll, 20);

setTimeout menjadualkan fungsi untuk menyala sekali, pada selang masa yang ditentukan. Ia tidak mencipta gelung. Anda juga boleh menggunakan clearTimeout untuk membatalkan pemasa sebelum ia menyala jika perlu.

Atas ialah kandungan terperinci Bagaimana Menggunakan `setInterval` dan `clearInterval` dengan Berkesan 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