Artikel ini menjelaskan penggunaan fungsi anonim dalam JavaScript. Bagikan untuk referensi Anda. Analisis spesifiknya adalah sebagai berikut:
ringkasan:
Artikel ini menjelaskan hal yang paling mendasar dan penting tentang fungsi JavaScript. Alasan saya menulis artikel ini adalah karena saya memintanya selama wawancara, yang juga dianggap meninjau masa lalu dan mempelajari yang baru.
Mari kita ambil contoh dulu. Jika Anda memahaminya, itu berarti Anda telah memahami apa yang akan dibicarakan oleh artikel ini.
Salin kode sebagai berikut: var f = (function () {
fungsi f () {return 10;}
return f ();
fungsi f () {return 20;}
var f = 30;
}) ();
console.log (f);
Dalam pemrograman lanjutan JavaScript, fungsi dijelaskan dengan cara ini - mereka dapat merangkum sejumlah pernyataan dan dapat dipanggil dan dieksekusi di mana saja dan kapan saja. Saya telah memperkenalkan mode yang ketat sebelumnya, dan Mode ketat memiliki beberapa keterbatasan fungsi:
① Fungsi tidak dapat disebutkan eval atau argumen
② Parameter tidak dapat disebut sebagai eval atau argumen
③ Dua parameter yang disebutkan tidak boleh nama yang sama
Situasi di atas akan menyebabkan kesalahan sintaks dan kode tidak akan dieksekusi.
Definisi fungsi
Definisi fungsi dibagi menjadi tiga jenis
1. Konstruktor
Salinan kode adalah sebagai berikut: var fun = funciton baru ();
2. Definisi biasa
Salin kode sebagai berikut: function fun () {}
3. Definisi Fungsional
Salinan kode adalah sebagai berikut: var fun = function () {};
Ketiga cara dapat mendefinisikan fungsi yang menyenangkan.
parameter
Fungsi tidak keberatan berapa banyak parameter yang dilewati, juga tidak peduli tentang tipe data apa yang dilewati parameter. Bahkan jika fungsi yang Anda definisikan hanya menerima dua parameter, Anda mungkin tidak harus melewati dua parameter saat memanggil fungsi ini. Satu atau tiga dapat dilewati atau bahkan tidak ada parameter. Alasannya adalah bahwa parameter diwakili secara internal oleh array. Di badan fungsi, Anda dapat mengakses array parameter melalui objek argumen, misalnya
Salin kode sebagai berikut: function wayshi () {
peringatan ("halo" + argumen [0] + "," + argumen [1]);
}
Dengan mengakses properti panjang objek argumen, kita dapat mengetahui berapa banyak parameter yang ada. Panjang fungsi akan mengembalikan jumlah parameter fungsi.
CATATAN: Semua nilai lulus parameter, dan tidak mungkin untuk melewati parameter melalui referensi.
Fungsi tidak dapat kelebihan beban, mereka hanya dapat ditulis ulang.
Jika dua fungsi dengan nama yang sama didefinisikan, nama tersebut termasuk dalam fungsi yang ditentukan terakhir, misalnya:
Salinan kode adalah sebagai berikut:
fungsi add (num) {
mengembalikan num + 100;
}
fungsi add (num) {
Return Num + 200;
}
var result = add (100) // 300
Catatan: Fungsi berhenti dan keluar segera setelah menjalankan pernyataan pengembalian.
Jenis fungsi
Fungsi dibagi menjadi dua jenis: fungsi nama dan fungsi anonim. Misalnya, fungsi terkenal berikut
Salin kode sebagai berikut: function fun () {
}
Jika dipanggil, hanya menyenangkan () diperlukan.
Fungsi anonim, seperti namanya, tidak memiliki nama fungsi. Misalnya
fungsi() {}
Panggilan fungsi dipanggil melalui nama fungsi. Bagaimana cara menyebut fungsi anonim? Salah satunya adalah menetapkan fungsi anonim ke variabel, memungkinkan variabel ini bertindak sebagai nama fungsi. Cara lain adalah menggunakan () untuk menyebutnya, misalnya, tiga metode berikut
1. (Function () {return;} ());
2. (Function () {return;}) ();
3. function () {return;} ();
contoh:
Salinan kode adalah sebagai berikut:
(function (x, y) {
Peringatan (x + y);
}) (2,3);
// waspada (5)
2 dan 3 akan diteruskan sebagai parameter ke x dan y
Mari kita bicara tentang contoh teratas. Contoh ini melibatkan penutupan, yang akan dibahas nanti.
Pertama, tentukan variabel f, dan kemudian tetapkan fungsi anonim. Di sini kita perlu mencatat bahwa definisi semua variabel dalam fungsi akan ditetapkan, sehingga urutan eksekusi dalam fungsi anonim adalah
Salinan kode adalah sebagai berikut:
var f = (function () {
Var f = 30;
fungsi f () {return 10;}
fungsi f () {return 20;}
return f ();
}) ();
Variabel luar f dan variabel dalam f tidak dalam ruang lingkup yang sama (penutupan), sehingga mereka tidak saling mempengaruhi. Karena fungsi tidak dapat kelebihan beban, variabel luar f = (fungsi f () {return 20;}) ();, sehingga output akhir adalah 20.
Saya harap artikel ini akan membantu pemrograman JavaScript semua orang.