Rumah >hujung hadapan web >tutorial js >Bilakah Saya Harus Menggunakan Tanda Kurung dalam Panggilan Fungsi `setTimeout` JavaScript?

Bilakah Saya Harus Menggunakan Tanda Kurung dalam Panggilan Fungsi `setTimeout` JavaScript?

DDD
DDDasal
2024-11-23 04:34:21542semak imbas

When Should I Use Parentheses in JavaScript `setTimeout` Function Calls?

Bila Menggunakan Tanda Kurung dalam Panggilan Fungsi

Dalam coretan kod yang disediakan:

var myFunction = function() {
   setTimeout(myFunction, 1000);
}
myFunction();

Panggilan fungsi dalam setTimeout tidak memerlukan kurungan kerana setTimeout mengharapkan rujukan fungsi sebagai hujah. myFunction merujuk fungsi.

Sebaliknya, myFunction() dalam baris terakhir memanggil fungsi tersebut. Apabila menggunakan kurungan dengan myFunction, ia menggunakan fungsi dan melaksanakan kodnya.

Pengecualian kepada Peraturan

Dalam keadaan tertentu, setTimeout(myFunction(), 1000) mungkin masuk akal. Sebagai contoh, jika myFunction() mengembalikan fungsi itu sendiri:

function myFunction() {
    return function() {
        alert("ohai")
    }
}

Dalam kes ini, setTimeout(myFunction(), 1000) melakukan perkara berikut:

  • Memanggil fungsi myFunction , yang mengembalikan fungsi tanpa nama yang memaparkan amaran.
  • Menetapkan fungsi yang dikembalikan sebagai argumen kepada setTimeout.

Akibatnya, makluman akan dicetuskan setiap saat.

Atas ialah kandungan terperinci Bilakah Saya Harus Menggunakan Tanda Kurung dalam Panggilan Fungsi `setTimeout` JavaScript?. 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