Rumah >hujung hadapan web >tutorial js >Apakah Perbezaan Antara `setInterval` dan `setTimeout` dalam JavaScript?

Apakah Perbezaan Antara `setInterval` dan `setTimeout` dalam JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-14 16:31:02811semak imbas

What's the Difference Between `setInterval` and `setTimeout` in JavaScript?

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);

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!

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