Contoh dalam artikel ini menerangkan penggunaan fungsi tanpa nama JavaScript. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:
Ringkasan:
Artikel ini menerangkan perkara paling asas dan penting dalam JavaScript - fungsi Sebab mengapa saya menulis artikel ini adalah kerana saya ditanya mengenainya semasa temu duga, dan ia boleh dianggap sebagai penyegar.
Mari kita ambil contoh dahulu Jika anda faham, ini bermakna anda sudah faham tentang maksud artikel ini.
fungsi f() {kembali 10;}
kembalikan f();
fungsi f() {kembali 20;}
var f = 30;
})();
console.log(f);
Fungsi diterangkan dalam pengaturcaraan JavaScript lanjutan seperti ini - ia boleh merangkum sebarang bilangan pernyataan dan boleh dipanggil dan dilaksanakan di mana-mana dan pada bila-bila masa. Saya memperkenalkan mod ketat sebelum ini. Mod ketat mempunyai beberapa sekatan pada fungsi:
① Fungsi tidak boleh dinamakan eval atau argumen
② Anda tidak boleh menamakan parameter sebagai eval atau argumen
③ Tidak boleh ada dua parameter bernama dengan nama yang sama
Jika situasi di atas berlaku, ia akan menyebabkan ralat sintaks dan kod tidak boleh dilaksanakan.
Takrifan fungsi
Takrifan fungsi terbahagi kepada tiga jenis
1. Pembina
2. Definisi biasa
3. Definisi berfungsi
Keseronokan fungsi boleh ditakrifkan dalam tiga cara ini.
Parameter
Fungsi ini tidak mengambil kira berapa banyak parameter yang dihantar, mahupun jenis data yang dihantar oleh parameter. Walaupun fungsi yang anda takrifkan hanya menerima dua parameter, anda tidak semestinya perlu melepasi dua parameter apabila memanggil fungsi ini. Anda boleh melepasi satu, tiga atau bahkan tiada parameter. Sebabnya ialah parameter diwakili secara dalaman oleh tatasusunan. Dalam badan fungsi, tatasusunan parameter boleh diakses melalui objek argumen, contohnya
makluman("Hello " arguments[0] "," arguments[1]);
}
Ketahui berapa banyak parameter yang ada dengan mengakses sifat panjang objek argumen. Panjang fungsi mengembalikan bilangan parameter fungsi.
Nota: Semua parameter diluluskan mengikut nilai, dan adalah mustahil untuk lulus parameter melalui rujukan.
Fungsi tidak boleh dibebankan, ia hanya boleh ditulis semula
Jika dua fungsi dengan nama yang sama ditakrifkan, nama itu hanya dimiliki oleh fungsi yang ditakrifkan terakhir, contohnya:
kembalikan nombor 100;
}
tambah fungsi(bilangan) {
kembalikan nombor 200;
}
hasil var = tambah(100) //300
Nota: Fungsi berhenti dan keluar serta-merta selepas melaksanakan pernyataan pulangan.
Jenis fungsi
Fungsi terbahagi kepada dua jenis: satu dinamakan fungsi dan satu lagi fungsi tanpa nama. Contohnya, fungsi terkenal berikut
}
Jika dipanggil, hanya keseronokan() diperlukan.
Fungsi tanpa nama, seperti namanya, tidak mempunyai nama fungsi. Contohnya
fungsi() {}
Panggilan fungsi dipanggil melalui nama fungsi Bagaimana untuk memanggil fungsi tanpa nama? Satu adalah untuk menetapkan fungsi tanpa nama kepada pembolehubah dan biarkan pembolehubah berfungsi sebagai nama fungsi. Yang lain ialah menggunakan () untuk memanggil, seperti tiga kaedah berikut
1. (function() {return;}());
2. (function() {return;})();
3. function() {return;}();
Contoh:
makluman(x y);
})(2,3);
//makluman(5)
Mari kita bercakap tentang contoh teratas. Contoh ini melibatkan penutupan, yang akan dibincangkan kemudian
Mula-mula takrifkan pembolehubah f, dan kemudian tetapkan ia kepada fungsi tanpa nama Perlu diperhatikan di sini bahawa takrifan semua pembolehubah dalam fungsi itu akan ditambah, jadi susunan pelaksanaan dalam fungsi tanpa nama ialah
.
var f = 30;
fungsi f() {kembali 10;}
fungsi f() {kembali 20;}
kembalikan f();
})();
Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.