Artikel ini menjelaskan penggunaan fungsi anonim dalam JavaScript. Bagikan untuk referensi Anda. Dengan rincian sebagai berikut:
1. Tentukan fungsi
Dalam JavaScript, suatu fungsi dapat didefinisikan melalui "Deklarasi Fungsi" dan "Ekspresi Fungsi", misalnya
1. Tentukan fungsi melalui "Deklarasi Fungsi"
fungsi t1 () {}2. Tentukan fungsi melalui "ekspresi fungsi"
t2 = function () {}Namun, dua cara untuk mendefinisikan fungsi memiliki efek yang berbeda
T1 adalah deklarasi fungsi. When 'lexical analysis', AO.t1 = function(){},-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
T2 adalah operasi penugasan. Ketika 'run', ao.t2 = function () {}, nilainya adalah hasil yang dikembalikan oleh ekspresi di sebelah kanan, dan itu hanya berfungsi di tahap 'run'.
2. Fungsi anonim
Dalam JavaScript, pernyataan dalam brackets () dieksekusi sebagai ekspresi. Seperti disebutkan di atas, Anda dapat menggunakan "ekspresi fungsi" untuk mendefinisikan fungsi, sehingga kami dapat mendefinisikan fungsi di (), seperti
(function t3 () {alert ('I am t3');})Jika fungsi tidak menggunakan nama, ubah sebagai berikut
(function () {alert ('I am t3');})Karena pernyataan yang terkandung dalam () adalah ekspresi, ia memiliki nilai pengembalian. Nilai pengembalian (fungsi () {alert ('I Am T3');}) adalah fungsi yang ditentukan dan dapat dipanggil segera, seperti
(function () {alert ('I am t3');}) ()Oleh karena itu, fungsi tanpa nama didefinisikan dalam braket (), yang disebut fungsi anonim. Metode ini, fungsi anonim, segera mengeksekusi tanpa mencemari situasi global, disebut ekspresi fungsi pelaksanaan segera.
3. JQuery adalah fungsi anonim
Kode jQuery dienkapsulasi dalam fungsi anonim, yang merupakan kode jQuery terluar:
(fungsi (jendela, tidak terdefinisi) {}) (window); // hubungi sekarangTapi mengapa jQuery melewati jendela tetapi tidak tidak terdefinisi?
Jawaban: Jendela yang lewat adalah menemukan kecepatan dan mengurangi waktu untuk meminta variabel. Misalnya, kode JS berikut
function () {function () {function () {function () {function () {document.getElementById (); // dokumen ini akan dicari lapisan demi lapis di sepanjang ruang lingkup hingga jendela terluar secara global. }}}}JQuery adalah untuk mempercepat pencarian internal variabel lokal, dan langsung melewati jendela sebagai parameter, sehingga jendela ada di AO di dalam jQuery.
Adalah untuk tujuan keamanan untuk tidak lulus tidak terdefinisi, karena dalam versi yang lebih rendah dari IE dan FF, tidak terdefinisi sebenarnya dapat dipindahkan, seperti tidak terdefinisi = 3;
Menyatakan variabel lokal tidak ditentukan (nama tidak ditentukan), dan pada saat yang sama, tanpa melewati parameter, nilainya tidak terdefinisi secara alami
Saya harap artikel ini akan membantu pemrograman JavaScript semua orang.