


Ringkasan mata pengetahuan JavaScript: cara meningkatkan kemahiran performance_javascript
Isu prestasi JavaScript tidak boleh dipandang remeh, yang memerlukan kami pembangun memberi perhatian lebih kepada beberapa butiran semasa menulis program JavaScript Artikel ini memperkenalkan mata pengetahuan pengoptimuman prestasi JavaScript dengan terperinci, yang pastinya merupakan maklumat yang berguna.
Izinkan saya menyatukan sintaks asas javascript:
Sintaks asas javascript
Gunakan kata kunci var untuk menentukan pembolehubah
Sintaks: nama pembolehubah var=nilai pembolehubah
pengecam: ①, terdiri daripada huruf, nombor dan garis bawah. Ia tidak boleh menjadi kata kunci sepenuhnya
Jenis data:
Jenis angka: nombor
Rentetan: rentetan
Jenis Boolean: boolean
Jenis data khas: undefined kosong undefined unassigned
Nilai nol: nol
Fungsi objek jenis rujukan
Kesan jenis data parameter: typeof() mengembalikan rentetan yang sepadan dengan jenis data
Penggunaan dua tanda sama == dan tiga tanda sama ===
==: Nilai perbandingan adalah sama tanpa mengira jenis data
===: Perbandingan kongruen berkaitan dengan nilai berangka dan jenis data
Persekitaran Boolean: tukar secara automatik kepada nilai Boolean apabila menghadapi jika
Persekitaran Boolean dalam rentetan rentetan: kosong ialah palsu, bukan kosong ialah benar
Persekitaran Boolean dalam nombor berangka: 0 adalah palsu, bukan 0 adalah benar
Hubungan antara nombor dan rentetan
① Apabila bertemu, lakukan operasi penyambungan
② Apabila operasi perlu dilakukan, rentetan mesti ditukar kepada nilai berangka
Kaedah penukaran 1, rentetan*1 kepada jenis angka
Kaedah penukaran 2: Tukar Nombor (rentetan) kepada jenis angka
1: Memuatkan lokasi fail js
Dalam fail HTML, teg
1. Jika fail js tidak mempunyai keperluan khas yang menunjukkan bahawa ia perlu dimuatkan dan disusun sebelum halaman dipaparkan, kemudian pilih untuk meletakkan fail js sebelum teg kandungan yang dibentangkan pada halaman). Fail css masih diletakkan di kawasan
Melakukan ini akan membolehkan pengguna melihat halaman reka letak dan bukannya halaman kosong Kemudian beberapa orang akan menunjukkan: Data mesti dimuatkan melalui permintaan js. Pemuatan data boleh diisih Antara muka yang diperlukan dengan segera boleh dilaksanakan terlebih dahulu.2. Jika fail js ini menyatakan bahawa ia perlu dilaksanakan terlebih dahulu untuk memaparkan kandungan halaman dengan lebih baik, kemudian letakkan animasi pemuatan kecil pada js atau halaman pertama, yang boleh menjadi adegan animasi yang menarik atau comel. Ini juga dapat mengelakkan kebosanan menunggu pengguna dengan lebih baik Mungkin mereka akan lebih berminat dengan animasi pemuatan, yang boleh meningkatkan pengalaman pengguna projek.
Cadangan akhir: Letakkan teg
2: Menggabungkan fail js
Dalam banyak pembangunan pasukan, kami mungkin meletakkan blok kod dengan fungsi yang berbeza dalam fail js yang berbeza, supaya lebih mudah untuk semua orang bekerjasama dalam menulis kod semasa proses pembangunan, kami hanya perlu mencari folder yang sepadan atau fail. Tidak mencari kaedah dalam fail yang panjang. Ini sememangnya akan meningkatkan kecekapan pembangunan pasukan dan memudahkan orang baharu melakukan pembangunan dan penyelenggaraan sekunder selepas menyertainya. Jadi bagaimana pula dengan meletakkan isu ini ke dalam prestasi halaman? Inilah masalahnya, dinyatakan dalam buku: Setiap permintaan HTTP membawa overhed prestasi tambahan, jadi memuat turun satu fail 100 KB akan lebih pantas daripada memuat turun empat fail 25 KB.
Memuat turun satu fail 100KB adalah lebih pantas daripada memuat turun empat fail 25KB, dan terdapat faedah besar dalam membezakan setiap fail semasa proses pembangunan, jadi isu penggabungan akan ditangani selepas pembangunan selesai biasa kepada semua orang, bukan? Terdapat begitu banyak alat bahagian hadapan sekarang, jadi gunakan sahaja pemampatan yang biasa anda gunakan~
Saya ingin nyatakan secara ringkas di sini bahawa anda juga boleh menggunakan atribut tangguh dan tak segerak semasa memuatkan fail untuk pemuatan tertunda dan pemuatan tak segerak Dalam penyemak imbas moden, kebanyakannya sudah menyokong atribut penangguhan ini Namun, saya tidak tahu sama ada akan ada masalah khusus. Rakan-rakan yang berminat boleh google sendiri point ilmu ini, dan saya akan sebutkan secara ringkas di sini.
Kebanyakan rangka kerja hari ini turut menyokong pemuatan malas dan pemuatan atas permintaan.
Tiga: Akses data yang lebih pantas
Untuk penyemak imbas, lebih dalam lokasi pengecam, lebih perlahan ia akan membaca dan menulisnya (begitu juga untuk rantai prototaip). Ini sepatutnya tidak sukar untuk difahami. Analogi yang mudah ialah: semakin jauh kedai runcit dari rumah anda, semakin lama masa yang anda ambil untuk membuat kicap... Nak nakal, kalau anda ambil masa yang lama untuk membuat kicap, sayur-sayuran. akan hangus -.-~
Jika kita perlu menggunakan nilai pembolehubah beberapa kali dalam fungsi semasa, maka kita boleh menggunakan pembolehubah setempat untuk menyimpannya terlebih dahulu
//修改前 function showLi(){ var i = 0; for(;i<document.getElementsByTagName("li").length;i++){ //一次访问document console.log(i,document.getElementsByTagName("li")[i]); //三次访问document }; }; //修改后 function showLi(){ var li_s = document.getElementsByTagName("li"); //一次访问document var i = 0; for(;i<li_s.length;i++){ console.log(i,li_s[i]); //三次访问局部变量li_s }; };
Empat: Pengoptimuman operasi DOM
function innerLi_s(){ var i = 0; for(;i<20;i++){ document.getElementById("Num").innerHTML="A"; //进行了20次循环,每次又有2次DOM元素访问:一次读取innerHTML的值,一次写入值 }; };
function innerLi_s(){ var content =""; var i = 0; for(;i<20;i++){ content += "A"; //这里只对js的变量循环了20次 }; document.getElementById("Num").innerHTML += content; //这里值进行了一次DOM操作,又分2次DOM访问:一次读取innerHTML的值,一次写入值 };
5: Kurangkan lukisan semula dan penyusunan semula Dom
Untuk operasi yang serupa dengan kod berikut, dikatakan bahawa kebanyakan penyemak imbas moden telah dioptimumkan (dioptimumkan menjadi 1 versi penyusunan semula):
//修改前 var el = document.getElementById("div"); el.style.borderLeft = "1px"; //1次重排版 el.style.borderRight = "2px"; //又1次重排版 el.style.padding = "5px"; //还有1次重排版 //修改后 var el = document.getElementById("div"); el.style.cssText = "border-left:1px;border-right:2px;padding:5px"; //1次重排版
5: Pengoptimuman gelung
//修改前 var i = 0; for(;i<arr.lengthli++){ //每次循环都需要获取数组arr的length console.log(arr[i]); } //修改后 var i = 0; var len = arr.length; //获取一次数组arr的length for(;i<len;i++){ console.log(arr[i]); } //or var i = arr.length;; for(;i;i--){ console.log(arr[i]); }
6: Penggunaan binari yang betul
.odd{color:red} .even{color:yellow} <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> </ul> var i = 0; var lis = document.getElementsByTagName("li"); var len = lis.length; for(;i<len;i++){ if(i&1){ lis[i].className = "even"; } else{ lis[i].className = "odd"; } };

Jenis data teras JavaScript adalah konsisten dalam penyemak imbas dan node.js, tetapi ditangani secara berbeza dari jenis tambahan. 1) Objek global adalah tetingkap dalam penyemak imbas dan global di Node.js. 2) Objek penampan unik Node.js, digunakan untuk memproses data binari. 3) Terdapat juga perbezaan prestasi dan pemprosesan masa, dan kod perlu diselaraskan mengikut persekitaran.

JavaScriptusestWotypesofcomments: Single-line (//) danMulti-line (//)

Perbezaan utama antara Python dan JavaScript ialah sistem jenis dan senario aplikasi. 1. Python menggunakan jenis dinamik, sesuai untuk pengkomputeran saintifik dan analisis data. 2. JavaScript mengamalkan jenis yang lemah dan digunakan secara meluas dalam pembangunan depan dan stack penuh. Kedua -duanya mempunyai kelebihan mereka sendiri dalam pengaturcaraan dan pengoptimuman prestasi yang tidak segerak, dan harus diputuskan mengikut keperluan projek ketika memilih.

Sama ada untuk memilih Python atau JavaScript bergantung kepada jenis projek: 1) Pilih Python untuk Sains Data dan Tugas Automasi; 2) Pilih JavaScript untuk pembangunan front-end dan penuh. Python disukai untuk perpustakaannya yang kuat dalam pemprosesan data dan automasi, sementara JavaScript sangat diperlukan untuk kelebihannya dalam interaksi web dan pembangunan stack penuh.

Python dan JavaScript masing -masing mempunyai kelebihan mereka sendiri, dan pilihan bergantung kepada keperluan projek dan keutamaan peribadi. 1. Python mudah dipelajari, dengan sintaks ringkas, sesuai untuk sains data dan pembangunan back-end, tetapi mempunyai kelajuan pelaksanaan yang perlahan. 2. JavaScript berada di mana-mana dalam pembangunan front-end dan mempunyai keupayaan pengaturcaraan tak segerak yang kuat. Node.js menjadikannya sesuai untuk pembangunan penuh, tetapi sintaks mungkin rumit dan rawan kesilapan.

Javascriptisnotbuiltoncorc; it'saninterpretedlanguagethatrunsonenginesoftenwritteninc .1) javascriptwasdesignedasalightweight, interpratedlanguageforwebbrowsers.2)

JavaScript boleh digunakan untuk pembangunan front-end dan back-end. Bahagian depan meningkatkan pengalaman pengguna melalui operasi DOM, dan back-end mengendalikan tugas pelayan melalui Node.js. 1. Contoh front-end: Tukar kandungan teks laman web. 2. Contoh backend: Buat pelayan Node.js.

Memilih Python atau JavaScript harus berdasarkan perkembangan kerjaya, keluk pembelajaran dan ekosistem: 1) Pembangunan Kerjaya: Python sesuai untuk sains data dan pembangunan back-end, sementara JavaScript sesuai untuk pembangunan depan dan penuh. 2) Kurva Pembelajaran: Sintaks Python adalah ringkas dan sesuai untuk pemula; Sintaks JavaScript adalah fleksibel. 3) Ekosistem: Python mempunyai perpustakaan pengkomputeran saintifik yang kaya, dan JavaScript mempunyai rangka kerja front-end yang kuat.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Dreamweaver Mac版
Alat pembangunan web visual
