Dengan promosi berterusan teknologi Web2.0, semakin banyak aplikasi menggunakan teknologi JavaScript untuk pemprosesan di sisi pelanggan, menjadikan prestasi JavaScript dalam penyemak imbas sebagai isu kebolehgunaan paling penting yang dihadapi oleh pembangun. Masalah ini rumit oleh sifat menyekat JavaScript, yang bermaksud bahawa apabila penyemak imbas melaksanakan kod JavaScript, ia tidak boleh melakukan apa-apa lagi pada masa yang sama. Artikel ini memperincikan cara memuatkan dan melaksanakan kod JavaScript dengan betul untuk meningkatkan prestasinya dalam penyemak imbas.
Dalam pengaturcaraan J2EE, bahasa skrip yang paling sering kami temui ialah JavaScript. Apabila menggunakan JavaScript, kami biasanya mempertimbangkan isu prestasinya, jadi kami meringkaskan ringkasan harian kaedah pengoptimuman prestasi JavaScript untuk pertanyaan.
Masalah penyambungan rentetan sering dihadapi apabila menggunakan JavaScript. Saya ingin bertanya jika anda menghadapi masalah di atas semasa menggunakan pengaturcaraan Java, bagaimana untuk menanganinya?
Pelajar NX: Cikgu, gunakan StringBulider atau StringBuffer
Guru: Jawapannya betul Menggunakan StringBuilder atau StringBuffer boleh mengelak daripada mencipta terlalu banyak objek dan mengurangkan prestasi sistem.
Baiklah, kembali kepada topik, mari jawab soalan tentang cara menangani masalah di atas apabila menggunakan JavaScript.
Pertama, mari kita lihat cara pelajar NX dikendalikan:
<html> <script type="text/javascript"> var string="begin" var date = new Date() var begin = date.getTime() for(var i=0;i<9999999;i++){ string+="abc" } alert(new Date().getTime() - begin) </script> </html>
Guru hampir ketawa apabila melihat cara pelajar NX mencapainya. Pelaksanaan sampah seperti ini benar-benar akan merosakkan reputasi anda seumur hidup.
Guru itu berkata sambil tersenyum: Kaedah pelaksanaan anda setaraf dengan tahap pelajar sekolah rendah, ia hanya gabungan rawak sekumpulan surat sampah. Selepas berkata begitu, saya terdengar Cikgu SB menaip kod di papan kekunci dengan pantas. Sebelum pelajar NX boleh bertindak balas, guru telah melengkapkan kod:
<html> <script type="text/javascript"> var string="begin"; var string01=["begin"]; var date = new Date(); var begin = date.getTime(); for(var i=0;i<55555555;i++){ //string+="abc"; string01.push("abc"); } var result = string01.join(""); alert(new Date().getTime() - begin); </script> </html>
Dengan membandingkan jalankan kod di atas, prestasi kod guru jauh lebih baik daripada kod pelajar NX sering menyebabkan IE ranap.
Apabila pelajar NX melihat hasil menjalankan kod, mereka segera mengagumi guru dan memutuskan untuk belajar daripada guru dengan rendah hati dan sentiasa memperbaiki diri...
Walaupun kisah ini telah sampai ke penghujungnya, perjalanan JavaScript guru dan pelajar NX diteruskan...