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
703 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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan