Dalam bidang JavaScript, binaan yang aneh sering mencetuskan rasa ingin tahu: tanda seru (!) di hadapan pengisytiharan fungsi. Watak yang kelihatan tidak berbahaya ini mengubah pengisytiharan fungsi menjadi ungkapan.
Pada terasnya, pengisytiharan fungsi dalam JavaScript berfungsi untuk mengumumkan kewujudan fungsi tanpa melaksanakannya, seperti yang ditunjukkan di bawah:
function foo() {}
Untuk benar-benar melaksanakan fungsi, seruan diperlukan:
foo()
Apabila tanda seru diperkenalkan, ia menaikkan pengisytiharan fungsi menjadi ungkapan fungsi. Perbezaan ini memberikan ekspresi fungsi keupayaan untuk dinilai sebagai ungkapan, membuka kemungkinan baharu:
!function foo() {}
Dengan penambahan kurungan, ungkapan fungsi boleh digunakan serta-merta , teknik yang dikenali sebagai ungkapan fungsi yang dipanggil serta-merta (IIFE). Begini caranya:
!function foo() {}()
Konstruk ini memintas keperluan untuk invocation berasingan, menyediakan cara ringkas dan cekap untuk melaksanakan fungsi dengan segera.
Tanpa diduga, tanda seru juga memperkenalkan aspek Boolean kepada ungkapan itu. Secara lalai, IIFE mengembalikan tidak ditentukan, menjadikan keseluruhan ungkapan dinilai kepada benar:
!undefined // true
Walaupun hasil boolean ini mungkin kelihatan tidak penting, ia menunjukkan sifat berbilang muka bagi binaan ini.
Tanda seru mendahului fungsi dalam JavaScript dengan berkesan menukar pengisytiharan fungsi kepada ungkapan, mendayakan seruan segera dan menambah dimensi Boolean pada persamaan. Walaupun ia kelihatan seperti tweak sintaksis kecil, ia mendedahkan keanggunan halus dalam keupayaan ekspresif JavaScript.
Atas ialah kandungan terperinci Apakah yang Dilakukan Tanda Seru Terkemuka kepada Fungsi JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!