Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Melaksanakan Fungsi JavaScript secara Rekursif pada Selang Biasa?
Dalam JavaScript, fungsi setTimeout() membenarkan anda menjadualkan panggilan fungsi pada masa yang telah ditetapkan. Ini berguna apabila anda perlu melakukan tindakan selepas kelewatan tertentu. Walau bagaimanapun, bagaimana jika anda ingin melaksanakan fungsi berulang kali pada selang masa yang tetap?
Satu pendekatan ialah menggunakan fungsi setInterval():
setInterval(function, delay)
Fungsi ini secara berterusan menggunakan fungsi panggil balik yang ditentukan di selang masa yang diberikan. Walau bagaimanapun, kaedah ini boleh menghadapi masalah jika masa pelaksanaan fungsi melebihi selang.
Pendekatan yang lebih dipercayai ialah menggunakan setTimeout() bersama-sama dengan fungsi tanpa nama yang melaksanakan sendiri:
(function(){ // Your code goes here setTimeout(arguments.callee, 60000); })();
Fungsi ini menjadualkan panggilan seterusnya ke fungsi yang sama selepas selang waktu yang ditentukan. Ia juga memastikan bahawa panggilan seterusnya tidak dibuat sehingga pelaksanaan fungsi semasa selesai. Rujukan arguments.callee digunakan untuk memanggil semula fungsi, tetapi ia tidak digunakan dalam Ecmascript 5. Alternatif yang lebih baik ialah menggunakan fungsi bernama dan merujuknya dalam panggilan setTimeout.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Fungsi JavaScript secara Rekursif pada Selang Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!