Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Melaksanakan Skrip Selepas Kelewatan Khusus Menggunakan JavaScript dan Mencegah Perubahan Nilai Pembolehubah?

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

Susan Sarandon
Susan Sarandonasal
2024-10-31 22:38:02643semak imbas

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

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!

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