Rumah > Artikel > hujung hadapan web > Bagaimana untuk Melaksanakan Skrip Selepas Kelewatan Khusus Menggunakan JavaScript dan Mencegah Perubahan Nilai Pembolehubah?
Laksanakan Skrip Selepas Kelewatan Tertentu Menggunakan JavaScript
Apabila mencari kaedah JavaScript yang serupa dengan "delay()" atau "wait()" jQuery fungsi, yang membenarkan pelaksanaan skrip tertangguh, "setTimeout()" muncul sebagai penyelesaian yang boleh dipercayai.
Walau bagaimanapun, apabila ia datang untuk menggunakan fungsi dengan parameter pada masa kemudian, panggilan fungsi tanpa nama mesti digunakan.
Walaupun tergoda untuk meluluskan fungsi sebagai hujah untuk penyeruan kemudian dengan meninggalkan kurungan selepas namanya, pendekatan ini mempunyai kaveat:
var a = "world"; setTimeout(alert("Hello" + a), 2000); // Displays "Hello world" immediately
Untuk memastikan pelaksanaan tertangguh, sama ada gunakan nama fungsi (seperti yang ditunjukkan oleh Flubba) atau fungsi tanpa nama, terutamanya apabila menghantar parameter:
var a = "world"; setTimeout(function() { alert("Hello" + a); }, 2000); // Displays "Hello world" after 2 seconds
Walau bagaimanapun, alternatif ini mempunyai had: pembolehubah mungkin berubah semasa kelewatan, mengubah output fungsi. Untuk mengekalkan nilai pembolehubah asal, gunakan fungsi panggil balik:
function callback(a) { return function() { alert("Hello" + a); } } var a = "world"; setTimeout(callback(a), 2000); a = "Stack Overflow"; // This change won't affect the delayed function
Dengan menjelmakan nilai pembolehubah asal dalam fungsi panggil balik, ia memastikan bahawa panggilan tertunda berlaku dengan nilai yang dimaksudkan, walaupun ia telah berubah dalam Sementara itu.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Skrip Selepas Kelewatan Khusus Menggunakan JavaScript dan Mencegah Perubahan Nilai Pembolehubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!