Perbezaan antara 'setInterval' dan 'setTimeout' dalam JavaScript
Dalam JavaScript, mengurus operasi tak segerak adalah penting dan dua fungsi utama yang memudahkan ini adalah 'setInterval' dan 'setTimeout'. Memahami perbezaan mereka adalah penting untuk pengekodan yang berkesan.
'setTimeout' vs 'setInterval':
setTimeout:
- Melaksanakan fungsi sekali selepas kelewatan yang ditentukan (masa tamat).
- Sintaks: setTimeout(ungkapan, tamat masa)
- Contoh: setTimeout(function() { alert("Hello World!") ; }, 1000); // Makluman "Hello World!" dalam satu saat.
setInterval:
- Melaksanakan fungsi berulang kali pada selang waktu tertentu (masa tamat).
- Sintaks: setInterval (ungkapan, tamat masa)
- Contoh: setInterval(function() { console.log("Running Every Second"); }, 1000); // Log mesej setiap saat.
Perbezaan Utama:
-
Kekerapan Pelaksanaan: setTimeout dilaksanakan sekali, manakala setInterval dilaksanakan berulang kali.
-
Tujuan: setTimeout digunakan untuk tindakan tertunda atau penjadualan, manakala setInterval adalah untuk tugasan berkala atau animasi.
-
Kawalan: setInterval boleh dihentikan dengan memanggil clearInterval(intervalID), manakala setTimeout tidak boleh dihentikan secara eksplisit sebaik sahaja dijadualkan.
-
Panggil Balik: setInterval secara automatik memberikan ID selang kepada panggilan balik, yang boleh digunakan untuk pembatalan. setTimeout tidak memberikan ID selang waktu.
Contoh:
Pertimbangkan dua senario:
- Memberitahu "Hello World!" sekali selepas 5 saat: Gunakan setTimeout.
- Log "This is Running" setiap 2 saat: Gunakan setInterval.
Kod:
// Alert after 5 seconds
setTimeout(function() { alert("Hello World!"); }, 5000);
// Log every 2 seconds
var intervalID = setInterval(function() { console.log("This is Running"); }, 2000);
// Stop logging after 10 seconds
setTimeout(function() { clearInterval(intervalID); }, 10000);
Salin selepas log masuk
Atas ialah kandungan terperinci Apakah Perbezaan Antara `setInterval` dan `setTimeout` dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!