Bagaimana untuk Melaksanakan Skrip Selepas Kelewatan Khusus Menggunakan JavaScript dan Mencegah Perubahan Nilai Pembolehubah?

Susan Sarandon
Lepaskan: 2024-10-31 22:38:02
asal
642 orang telah melayarinya

How to Execute Script After Specific Delay Using JavaScript and Prevent Variable Value Changes?

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!