Bagaimanakah Saya Boleh Melewati Parameter kepada Fungsi Tertunda dengan setTimeout?

Susan Sarandon
Lepaskan: 2024-11-03 07:52:02
asal
532 orang telah melayarinya

How Can I Pass Parameters to Functions Delayed with setTimeout?

Melengahkan Perlaksanaan Skrip JavaScript dengan setTimeout

Menggunakan kaedah setTimeout JavaScript, anda boleh melaksanakan skrip selepas kelewatan yang ditentukan. Tidak seperti kelewatan() atau tunggu() jQuery, setTimeout secara langsung mengambil fungsi panggil balik sebagai hujah dan menetapkan kelewatan dalam milisaat.

Pelaksanaan Asynchronous dengan setTimeout

Apabila anda lulus fungsi sebagai hujah kepada setTimeout, ia dijadualkan untuk dijalankan selepas kelewatan yang ditentukan. Tingkah laku tak segerak ini memastikan bahawa pelaksanaan skrip tidak disekat, membenarkan bahagian lain atur cara diteruskan.

Meluluskan Parameter ke Fungsi Tertunda

Jika anda perlu lulus parameter kepada fungsi tertunda, anda boleh sama ada menggunakan fungsi bernama atau fungsi tanpa nama. Walau bagaimanapun, ambil perhatian tentang isu skop pembolehubah apabila menggunakan fungsi tanpa nama.

Untuk memastikan bahawa parameter yang diluluskan dalam masa kini dikekalkan dalam skop fungsi tertunda, buat fungsi yang mengembalikan fungsi baharu yang menerima parameter yang dikehendaki. Ini merangkum nilai parameter dan membolehkan fungsi tertunda mengaksesnya kemudian.

Contoh dengan Skop Pembolehubah

<code class="js">var a = "world";
setTimeout(alert("Hello " + a), 2000); // Calls alert immediately</code>
Salin selepas log masuk

Parameter Merangkum dengan Fungsi Tanpa Nama

<code class="js">var a = "world";
setTimeout(function() { alert("Hello " + a); }, 2000); // Calls alert after 2 seconds with 'Hello world'</code>
Salin selepas log masuk

Merangkum Parameter dengan Fungsi Yang Mengembalikan Fungsi

<code class="js">function callback(param) {
  return function() {
    alert("Hello " + param);
  };
}

var a = "world";
setTimeout(callback(a), 2000); // Calls alert after 2 seconds with 'Hello world'</code>
Salin selepas log masuk

Ini membolehkan anda menghantar parameter kepada fungsi tertunda dan memastikan ia mengekalkan fungsinya nilai yang betul walaupun terdapat sebarang perubahan yang dibuat pada skop pembolehubah sementara itu.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melewati Parameter kepada Fungsi Tertunda dengan setTimeout?. 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