Fungsi anonim adalah fungsi tanpa nama aktual.
JavaScript memiliki berbagai fungsi anonim, dan mereka tidak jelas tentang mereka, membuatnya mudah untuk melihat kode pusing.
Berikut ini adalah fungsi anonim yang berhasil disebut:
Salinan kode adalah sebagai berikut:
(fungsi () {
waspada (3);
})
();
(fungsi f1 () {
waspada (4);
}) (); // Anda dapat menelepon dengan cara ini jika Anda bukan fungsi anonim! Lai
function void () {
waspada ('void air');
} (); // Dikatakan bahwa yang paling efisien. Dalam JavaScript, Void adalah operator, yang menentukan bahwa ekspresi harus dihitung tetapi tidak mengembalikan nilai.
!fungsi(){
waspada ('! air');
} (); // operator + panggilan fungsi anonim
(fungsi(){
waspada ('air');
} ()); // Kurung kecil + fungsi anonim memiliki sedikit penegakan ~
Anda juga harus memperhatikan kesalahan yang sering saat menggunakan fungsi anonim:
Salinan kode adalah sebagai berikut:
// Metode Penulisan Kesalahan 1
(fungsi f1 () {
waspada (5);
}) f1 (); // Ini bukan fungsi anonim lagi!
// metode penulisan kesalahan 2
(fungsi () {
waspada (6);
}); // Sintaksnya tidak bebas dari kesalahan, tidak ada fungsi anonim yang disebut, dan tidak ada kesempatan untuk menyebutnya nanti, karena tidak ada nama, dan entri panggilan tidak dapat ditemukan.
// Metode Penulisan Kesalahan 3
fungsi () {
waspada (1);
} (); // Sebut saja tanpa referensi ke fungsi
Juga, perhatikan memahami peran tanda kurung.
Kurung dapat membagi ekspresi kami menjadi potongan -potongan, dan setiap bagian, yaitu, masing -masing pasangan kawat gigi, memiliki nilai pengembalian. Nilai pengembalian ini sebenarnya adalah nilai pengembalian ekspresi dalam tanda kurung. Oleh karena itu, ketika kami melampirkan fungsi anonim dengan sepasang tanda kurung, tanda kurung mengembalikan objek fungsi dari fungsi anonim. Oleh karena itu, menambahkan fungsi anonim ke pasangan braket seperti fungsi bernama dan kami mendapatkan posisi referensi. Jadi, jika Anda menambahkan daftar parameter setelah variabel referensi ini, bentuk panggilan fungsi biasa akan diimplementasikan.