Rumah >hujung hadapan web >tutorial js >Bila hendak menggunakan kurungan dengan Rujukan Fungsi JavaScript?
Bila Menggunakan Tanda Kurung dan Bila Tidak?
Dalam JavaScript, amat penting untuk memahami bila hendak menggunakan kurungan dan apabila tidak, terutamanya dengan fungsi rujukan. Pertimbangkan kod berikut:
var myFunction = function() { setTimeout(myFunction, 1000); } myFunction();
Mengapakah fungsi memanggil dalam setTimeout tidak memerlukan kurungan, manakala baris terakhir memerlukannya?
Ringkasnya
Penjelasan Terperinci
setTimeout menerima rujukan fungsi sebagai hujah. Dalam baris pertama, setTimeout(myFunction, 1000) melepasi rujukan fungsi tanpa kurungan kerana ia menjangkakan rujukan.
Walau bagaimanapun, dalam baris terakhir, myFunction() sebenarnya memanggil fungsi tersebut. Untuk memanggil fungsi, kami menggunakan kurungan untuk melaksanakannya. Oleh itu, myFunction() melaksanakan fungsi dan oleh itu memerlukan kurungan.
Exception
Mungkin terdapat keadaan di mana setTimeout(myFunction(), 1000) adalah sesuai, seperti apabila myFunction() mengembalikan fungsi. Contohnya:
function myFunction() { return function() { alert("ohai") } } // Or const myFunction = () => () => alert("ohai")
Dalam kes ini, setTimeout(myFunction(), 1000):
Ini menghasilkan makluman setiap saat.
Kesimpulan
Memahami tujuan kurungan dalam rujukan fungsi adalah penting untuk JavaScript yang berkesan pengaturcaraan. Dengan mengingati bahawa kurungan menunjukkan panggilan fungsi, anda boleh menggunakannya dengan betul untuk memanggil fungsi atau menghantar rujukan fungsi seperti yang diperlukan.
Atas ialah kandungan terperinci Bila hendak menggunakan kurungan dengan Rujukan Fungsi JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!