Rumah > hujung hadapan web > tutorial js > Mengapa Fungsi `setTimeout` Saya Dijalankan Serta-merta?

Mengapa Fungsi `setTimeout` Saya Dijalankan Serta-merta?

Mary-Kate Olsen
Lepaskan: 2024-12-18 18:08:11
asal
585 orang telah melayarinya

Why Does My `setTimeout` Function Run Immediately?

Mengapa setTimeout Menjalankan Fungsi Saya Serta-merta?

Apabila menggunakan setTimeout, anda mungkin menghadapi senario di mana masa menunggu yang ditentukan diabaikan, menyebabkan fungsi untuk melaksanakan serta-merta. Tingkah laku ini timbul daripada salah tanggapan biasa dalam sintaks yang digunakan.

Perangkap:

Coretan kod di bawah menunjukkan isu:

setTimeout(testfunction(), 2000);
Salin selepas log masuk

Penjelasan:

Dalam kod, testfunction() ialah dipanggil serta-merta menggunakan kurungan. Ini bermakna setTimeout dijadualkan menunggu hasil testfunction(), yang dilaksanakan serta-merta.

Penyelesaian:

Untuk memastikan setTimeout menunggu untuk yang diingini masa sebelum melaksanakan fungsi, gunakan sintaks ini sebaliknya:

setTimeout(testFunction, 2000);
Salin selepas log masuk

Perhatikan ketiadaan kurungan selepas testFunction. Dengan meninggalkan kurungan, anda menghantar rujukan kepada fungsi itu sendiri, bukan hasil daripada memanggilnya.

Atas ialah kandungan terperinci Mengapa Fungsi `setTimeout` Saya Dijalankan Serta-merta?. 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