1. Fungsi tanpa nama
Fungsi ialah objek yang paling fleksibel dalam JavaScript Di sini kami hanya menerangkan penggunaan fungsi tanpa nama. Fungsi tanpa nama: Ia adalah fungsi tanpa nama fungsi.
1.1 Definisi fungsi, mula-mula memperkenalkan secara ringkas definisi fungsi, yang boleh dibahagikan secara kasar kepada tiga cara
Jenis pertama: Ini juga merupakan jenis yang paling biasa
var double = function(x) { return 2* x; Ambil perhatian bahawa fungsi di sebelah kanan "=" ialah fungsi tanpa nama Selepas mencipta fungsi, fungsi itu diberikan kepada petak pembolehubah.
1.2 Penciptaan fungsi tanpa nama
Kaedah pertama ialah mentakrifkan fungsi segi empat sama seperti yang dinyatakan di atas, yang juga merupakan salah satu kaedah yang paling biasa digunakan.
Cara kedua:
Perkataan Inggeris untuk penutupan ialah penutupan, yang merupakan bahagian pengetahuan yang sangat penting dalam JavaScript, kerana menggunakan penutupan boleh mengurangkan jumlah kod kami, menjadikan kod kami kelihatan lebih jelas, dsb. Pendek kata, ia sangat berkuasa.
Maksud penutupan: Secara terang-terangan, penutupan ialah sarang fungsi Fungsi dalam boleh menggunakan semua pembolehubah fungsi luar, walaupun fungsi luar telah dilaksanakan (ini melibatkan rantaian skop JavaScript).
oEvent.addEvent = addEvent;
oEvent.removeEvent = removeEvent;
})();
Dalam kod ini, fungsi addEvent dan removeEvent ialah pembolehubah tempatan, tetapi kita boleh menggunakannya melalui pembolehubah global oEvent, yang mengurangkan penggunaan pembolehubah global dan meningkatkan keselamatan halaman web. Kami mahu menggunakan kod ini: oEvent.addEvent(document.getElementById('box') , 'click' , function(){});
Contoh 4:
Di sini kami mencipta rainman berubah-ubah dan memulakannya kepada 5 dengan memanggil terus fungsi tanpa nama ini kadangkala sangat praktikal.
Contoh 5:
Pembolehubah dalam kod ini ialah pembolehubah tempatan (kerana ia ditakrifkan dalam fungsi), jadi ia tidak boleh diakses dari luar. Tetapi di sini kami mencipta fungsi dalam, yang boleh mengakses pembolehubah satu; dan pembolehubah global luar merujuk kepada dalam, jadi memanggil luar tiga kali akan muncul hasil tambahan.
4
4.1 Penutupan membenarkan fungsi dalaman merujuk kepada pembolehubah dalam fungsi induk, tetapi pembolehubah ialah nilai akhir
for(var i = 0 , len = lists.length ; i < len ; i ){
Senaraikan[ i ].onmouseover = function(){
makluman(i);
};
}
Penyelesaian 2:
Menggunakan penutupan boleh menyebabkan kebocoran memori dengan mudah dalam kes yang serius, penyemak imbas akan hang Jika anda berminat, anda boleh merujuk kepada: