Artikel ini menganalisis penggunaan caching data jQuery. Kongsikan dengan semua orang untuk rujukan anda. Butirannya adalah seperti berikut:
Dalam dokumentasi bantuan API jQuery, jQuery menerangkan peranan caching data seperti berikut: digunakan untuk mengakses data pada elemen tanpa risiko rujukan bulat.
1. Tentukan data cache
Gunakan kaedah $(selector).data(name,value) untuk menentukan data cache untuk objek jQuery. Data cache ini disimpan dalam semua elemen DOM dalam set elemen DOM yang sepadan.
var $link = $('a'); $link.data('linkType', 'home');
Nota: $(selector).data(name,value) boleh menyimpan data dalam sebarang format pada elemen DOM yang sepadan, bukan hanya rentetan.
2. Dapatkan data cache
Pada ketika ini, hanya satu parameter diperlukan, yang menentukan nama data cache.
var linkType = $link.data('linkType'); //'home'
Nota: Jika data cache yang dibaca tidak wujud, nilai pulangan tidak ditentukan jika koleksi jQuery menghala ke berbilang elemen, hanya data cache yang sepadan bagi elemen pertama akan dikembalikan.
3. Padamkan data cache
Fungsi removeData() boleh memadam data cache dengan nama yang ditentukan dan mengembalikan objek jQuery yang sepadan.
//删除缓存数据的同时,返回对应的jQuery对象。 var $a = $link.removeData('linkType');
4. Spesifikasi untuk menggunakan cache data jQuery
Apabila bilangan kali fungsi data() dipanggil meningkat, atau disebabkan penggunaan yang tidak betul, objek cache akan berkembang dengan cepat, akhirnya menjejaskan prestasi program.
Oleh itu, apabila menggunakan fungsi caching data jQuery, objek cache harus dikosongkan dalam masa. jQuery menyediakan fungsi removeData() untuk mengosongkan data cache secara manual. Menurut mekanisme pengendalian rangka kerja jQuery, tidak perlu mengosongkan cache data secara manual dalam situasi berikut.
* Lakukan operasi remove() pada elem, dan jQuery akan mengosongkan cache secara automatik yang mungkin wujud pada objek.
* Lakukan operasi kosong() pada elem Jika terdapat cache data untuk sub-elemen elem semasa, jQuery juga akan mengetahui kemungkinan cache data untuk sub-objek.
* Kaedah klon() jQuery menyalin nod tidak akan menyalin cache data.
Saya harap artikel ini akan membantu pengaturcaraan jQuery semua orang.