Memanggil fungsi dengan kurungan kosong atau tanpa kurungan sama sekali mungkin kelihatan tidak penting untuk fungsi tanpa hujah. Walau bagaimanapun, pemeriksaan yang lebih dekat mendedahkan perbezaan yang ketara.
Pertimbangkan dua contoh berikut:
window.onload = initAll();
window.onload = initAll;
1 . Invokasi Segera:
Dalam contoh pertama, kurungan kosong memanggil fungsi initAll() serta-merta dan nilai pulangan diberikan kepada window.onload. Biasanya, ini bukan gelagat yang diingini kerana initAll harus dilaksanakan apabila acara onload berlaku.
2. Tugasan Rujukan:
Dalam contoh kedua, fungsi initAll itu sendiri diberikan kepada window.onload. Ini bermakna bahawa fungsi tidak akan dilaksanakan sehingga acara beban dicetuskan. Pendekatan ini memastikan bahawa pengendali acara disediakan dengan betul.
Dalam JavaScript, fungsi ialah objek kelas pertama. Ini bermakna ia boleh disimpan dalam pembolehubah, diluluskan sebagai hujah dan ditetapkan sebagai sifat. Inilah sebabnya mengapa sintaks berikut adalah sah:
window.onload = () => initAll();
Dalam kes ini, fungsi tanpa nama dicipta yang, apabila dipanggil, memanggil initAll() serta-merta. Walau bagaimanapun, rujukan fungsi luar ini masih diberikan kepada window.onload, jadi pengendali acara akan menunggu acara pemuatan untuk mencetuskan pelaksanaan kedua-dua fungsi.
Atas ialah kandungan terperinci Panggilan Fungsi JavaScript: Tanda Kurung Kosong – Penyerahan Segera atau Tugasan Rujukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!