Saya sedang menulis panduan gaya JavaScript untuk tim saya, sehingga kami dapat mengatur dan berkontribusi dokumen kami dengan lebih mudah. Tapi saya telah menemukan masalah kecil di mana pertanyaan saya berlaku ...
Apa yang harus saya sebut fungsi JavaScript anonim yang dipanggil segera. Saya tahu saya bisa menyebutnya "fungsi anonim", tetapi saya ingin menekankan fakta bahwa itu dipanggil segera.
Berikut ini sebuah contoh:
var MyVariable = (function(data){
return "another value"
})("some value");
console.log(MyVariable);
// "another value"
javascript
coding-style
terminology
diamlah
sumber
sumber
Jawaban:
Mereka sudah memiliki istilah untuk itu di dunia Javascript. Mereka disebut Ekspresi Fungsi Segera Diminta (IIFE) .
Apa itu
Fungsi IIFE tidak diberi nama. Alih-alih, mereka dieksekusi sekali ketika penerjemah menemukan mereka:
Tanda kurung terakhir setelah kurung kurawal penutupan blok kode memberi tahu juru bahasa untuk memanggil ekspresi fungsi segera.
Jika Anda menulis deklarasi fungsi, Anda harus menambahkan operator pengelompokan , atau tanda kurung di sekeliling fungsi, untuk memberi tahu juru bahasa untuk memperlakukan fungsi tersebut sebagai ekspresi yang dapat langsung dipanggil:
Kapan mereka digunakan
IIFEs digunakan untuk kode yang hanya perlu dijalankan sekali dalam suatu tugas, daripada dipanggil berulang kali.
sumber
var area = ...
, Anda tidak perlu tanda kurung "membungkus" pada fungsi, karena itu sudah ekspresi fungsi berdasarkan berada di sisi kanan=
. Kurung pembungkus hanya diperlukan ketika fungsi ditulis sebagai deklarasi fungsi (yaitu tanpa memimpinvar area = ...
).