Kurungan dalam Pengisytiharan Fungsi lwn. Seruan
Dalam JavaScript, perbezaan antara pengisytiharan fungsi dan seruan muncul dalam sintaksnya. Walaupun pengisytiharan fungsi berakhir dengan kurung kurawal, seruan fungsi berakhir dengan kurungan.
Pertimbangkan contoh berikut:
var myFunction = function() { setTimeout(myFunction, 1000); } myFunction();
Di sini, fungsi setTimeout mengharapkan rujukan fungsi sebagai argumen. Apabila anda menulis myFunction, anda merujuk fungsi itu sendiri. Sebaliknya, myFunction() sebenarnya memanggil fungsi tersebut.
Walaupun ini nampak mudah, terdapat pengecualian. setTimeout juga boleh menerima fungsi yang mengembalikan fungsi, seperti dalam kod berikut:
function myFunction() { return function() { alert("ohai"); } } // or const myFunction = () => () => alert("ohai");
Dalam senario ini, setTimeout(myFunction(), 1000) akan:
Ini secara berkesan menjadualkan amaran untuk dipaparkan setiap saat.
Oleh itu, perbezaan utama ialah apabila anda meninggalkan kurungan, anda merujuk objek fungsi itu sendiri. Apabila anda memasukkan kurungan, anda menggunakan fungsi tersebut. Ini terpakai pada pengisytiharan fungsi, seperti var myFunction = function() { ... } dan ungkapan fungsi, seperti const myFunction = () => { ... }.
Atas ialah kandungan terperinci Bilakah Tanda Kurung Penting dalam Panggilan Fungsi JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!