Rumah > Artikel > hujung hadapan web > Beberapa petua untuk menulis kod JSLite yang cekap meniru JQuery_jquery
Adalah perkara biasa untuk artikel membincangkan prestasi jQuery dan javascript. Walau bagaimanapun, saya bercadang untuk mengajar anda cara untuk menambah baik kod JSLite dan JavaScript anda berdasarkan beberapa petua kelajuan dan cadangan yang telah disusun oleh orang lain untuk jQuery. Kod yang baik akan membawa peningkatan kelajuan. Penyampaian pantas dan responsif bermakna pengalaman pengguna yang lebih baik.
Pertama sekali, perlu diingat bahawa JSLite ialah javascript. Ini bermakna kita harus menerima pakai konvensyen pengekodan, panduan gaya dan amalan terbaik yang sama.
Pertama sekali, jika anda seorang pemula javascript dan tidak pernah menggunakan jQuery, saya cadangkan anda membaca pengenalan sintaks dokumen rasmi terlebih dahulu Ini adalah tutorial javascript berkualiti tinggi, yang bermaksud bahawa anda telah menggunakan jQuery seketika.
Apabila anda sudah bersedia untuk menggunakan JSLite, saya amat mengesyorkan agar anda mengikuti garis panduan ini:
Pembolehubah cache
Perjalanan DOM mahal, jadi cuba cache elemen yang digunakan semula.
JSLite adalah sama seperti JavaScript Secara umumnya, adalah lebih baik untuk memastikan pembolehubah anda berada dalam skop fungsi.
Tambah awalan $ sebelum pembolehubah untuk mengenal pasti objek JSLite dengan mudah.
Untuk menggabungkan berbilang penyataan var ke dalam satu penyataan, saya syorkan meletakkan pembolehubah yang tidak ditetapkan pada penghujungnya.
Sila gunakan pada
Dalam versi baharu JSLite, on("klik") yang lebih pendek digunakan untuk menggantikan fungsi seperti click(). Dalam versi sebelumnya on() adalah bind() . on() ialah kaedah pilihan untuk melampirkan pengendali acara. Walau bagaimanapun, demi konsistensi, anda boleh menggunakan kaedah on() bersama-sama.
$first.hover(function(){
$first.css('sempadan','1px merah pepejal');
})
// Cadangan
$first.on('klik',function(){
$first.css('sempadan','1px merah pepejal');
$first.css('warna', 'biru');
})
$first.on('hover',function(){
$first.css('sempadan','1px merah pepejal');
})
Secara umum, adalah lebih baik untuk menggabungkan fungsi apabila boleh.
Sangat mudah untuk melaksanakan operasi berantai kaedah dalam JSLite. Manfaatkan ini di bawah.
Kekalkan kebolehbacaan kod
Bersama dengan memperkemas kod dan menggunakan rantaian, kod mungkin menjadi sukar dibaca. Menambah cubitan dan pemutus baris boleh mendatangkan hasil yang menakjubkan.
Penilaian litar pintas ialah ungkapan yang dinilai dari kiri ke kanan, menggunakan operator && (logik DAN) atau || (logik ATAU).
Salah satu cara untuk menyelaraskan kod anda adalah dengan memanfaatkan pintasan pengekodan.
Jika anda bercadang untuk melakukan banyak operasi pada elemen DOM (menetapkan berbilang atribut atau gaya css secara berturut-turut), adalah disyorkan untuk memisahkan elemen dahulu dan kemudian menambahnya.
$elemen = $containerLi.first();
//... Banyak operasi kompleks
// lebih baik
var
$container = $("#container"),
$containerLi = $container.find("li"),
$elemen = null;
//... Banyak operasi kompleks
$container.append($element);
Wie bereits erwähnt, ist die DOM-Durchquerung ein teurer Vorgang. Ein typischer Ansatz besteht darin, übergeordnete Elemente zwischenzuspeichern und diese zwischengespeicherten Elemente bei der Auswahl untergeordneter Elemente wiederzuverwenden.
Das Einfügen des Universalselektors in einen Nachkommenselektor hat eine schreckliche Leistung.
Universelle Selektoren sind manchmal implizit und schwer zu finden.
Zum Beispiel sollte der Id-Selektor eindeutig sein, sodass keine Notwendigkeit besteht, zusätzliche Selektoren hinzuzufügen.
Ich betone hier, dass der ID-Selektor eindeutig sein sollte, dass keine Notwendigkeit besteht, zusätzliche Selektoren hinzuzufügen und dass keine Notwendigkeit für mehrere Nachkommen-ID-Selektoren besteht.
Neue Versionen sind normalerweise besser: leichter, effizienter, mit mehr Methoden und umfassenderer Abdeckung von jQuery-Methoden. Natürlich müssen Sie die Kompatibilität des Codes berücksichtigen, den Sie unterstützen möchten. Läuft das Projekt beispielsweise mit guter Unterstützung für HTML5/CSS3
?Kombinieren Sie bei Bedarf JSLite und nativen Javascript-Code
Wie oben erwähnt, ist JSLite Javascript, was bedeutet, dass alles, was Sie mit JSLite tun können, auch mit nativem Code erledigt werden kann. Nativer Code ist möglicherweise nicht so lesbar und wartbar wie JSLite und der Code ist möglicherweise länger. Aber es bedeutet auch effizienter (normalerweise gilt: Je näher am zugrunde liegenden Code, desto weniger lesbar, desto höher die Leistung, zum Beispiel: Assembler, was natürlich leistungsfähigere Leute erfordert). Bedenken Sie, dass kein Framework kleiner, leichter und effizienter sein kann als nativer Code (Hinweis: Der Testlink ist nicht mehr gültig, Sie können online nach dem Testcode suchen).
Abschließender Rat
Abschließend schreibe ich diesen Artikel mit dem Ziel auf, die Leistung von JSLite zu verbessern und einige andere gute Vorschläge zu machen. Wer tiefer in dieses Thema eintauchen möchte, wird viel Spaß haben. Denken Sie daran, dass JSLite nicht erforderlich, sondern nur eine Option ist. Überlegen Sie, warum Sie es verwenden möchten. DOM-Manipulation? Ajax? Schablone? CSS-Animation? Oder ein Selektor? Schwerer jQuery-Entwickler?