Dalam JavaScript, fungsi tanpa nama ialah fungsi tanpa pengecam. Ia boleh dibuat menggunakan ungkapan fungsi, yang melibatkan penugasan fungsi kepada pembolehubah atau menggunakannya secara langsung.
Memahami cara fungsi tanpa nama berfungsi adalah penting. Apabila anda menulis ungkapan fungsi:
(function (msg) { alert(msg); })
anda mencipta fungsi tanpa nama. Walau bagaimanapun, anda mesti melaksanakan ungkapan fungsi dengan segera dengan membungkusnya dalam kurungan dan menambah argumen dalam kurungan:
(function (msg) { alert(msg); })('SO');
Percubaan untuk memisahkan ungkapan fungsi daripada pelaksanaan, seperti yang ditunjukkan di bawah, tidak akan berfungsi:
(function (msg) { alert(msg); }); ('SO');
Ini kerana ungkapan fungsi mencipta objek fungsi. Untuk melaksanakan fungsi, anda mesti memanggilnya dengan mengikutinya dengan kurungan dan hujah. Mengeluarkan tanda kurung selepas ungkapan fungsi menghalang pelaksanaannya.
Berikut ialah penjelasan alternatif daripada spesifikasi Skrip ECMA. Takrifan fungsi terdapat dalam tiga bentuk: menggunakan pembina Fungsi, menggunakan pengisytiharan fungsi atau menggunakan ungkapan fungsi.
Ungkapan fungsi membolehkan anda mencipta fungsi tanpa nama dengan mengetepikan pengecam:
function (msg) { return a + b; }
Berbekalkan pengetahuan ini, mari pecahkan asal anda kod:
(function (msg) { // ... })();
Kod ini mencipta fungsi tanpa nama dan melaksanakannya serta-merta dengan membungkusnya dalam kurungan. Skop fungsi kini ditutup dan anda tidak lagi boleh mengakses pembolehubah atau kaedahnya dari luar fungsi.
Atas ialah kandungan terperinci Bagaimanakah Saya Menggunakan Fungsi JavaScript Tanpa Nama pada Baris yang Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!