วิธีการเพิ่มความเร็วรหัส JavaScript ของคุณ
ลดกิจกรรมในลูป
ลูปมักจะใช้ในการเขียนโปรแกรม
แต่ละคำในวงรวมทั้ง for คำสั่งจะถูกดำเนินการสำหรับการทวนของแต่ละวง
การค้นหาสำหรับงบที่ได้รับมอบหมายหรือที่สามารถอยู่นอกวง
เลวรหัสสินค้า:
for (i = 0; i < arr.length; i++) {
รหัสที่ดีกว่า:
l = arr.length;
for (i = 0; i < l; i++) {
รหัสที่ไม่ดีเข้าถึงคุณสมบัติความยาวของอาร์เรย์แต่ละครั้งเป็นห่วงซ้ำ
รหัสที่ดีกว่าการเข้าถึงคุณสมบัติความยาวนอกวงและทำให้การทำงานเร็วขึ้นห่วง
ลด DOM เข้าถึง
การเข้าถึง HTML DOM ช้ามากเมื่อเทียบกับงบ JavaScript อื่น ๆ
หากคุณคาดหวังที่จะเข้าถึงองค์ประกอบ DOM หลายครั้งเข้าใช้งานได้ครั้งเดียวและใช้มันเป็นตัวแปรท้องถิ่น:
ลดขนาด DOM
ให้จำนวนขององค์ประกอบใน HTML DOM ที่มีขนาดเล็ก
นี้จะปรับปรุงการโหลดหน้าเว็บและเพิ่มความเร็วในการแสดงผล (จอแสดงผลหน้า) โดยเฉพาะบนอุปกรณ์ที่มีขนาดเล็ก
ทุกคนพยายามที่จะค้นหา DOM (เช่น getElementsByTagName) จะได้รับประโยชน์จาก DOM ที่มีขนาดเล็ก
หลีกเลี่ยงตัวแปรที่ไม่จำเป็น
อย่าสร้างตัวแปรใหม่หากคุณไม่ได้วางแผนที่จะประหยัดค่า
บ่อยครั้งที่คุณสามารถเปลี่ยนรหัสเช่นนี้
var fullName = firstName + " " + lastName;
document.getElementById("demo").innerHTML = fullName;
ด้วยสิ่งนี้:
document.getElementById("demo").innerHTML = firstName + " " + lastName
ความล่าช้าในการโหลดจาวาสคริปต์
วางสคริปต์ของคุณที่ด้านล่างของร่างกายหน้าช่วยให้เบราว์เซอร์ในการโหลดหน้าแรก
ในขณะที่สคริปต์จะดาวน์โหลดเบราว์เซอร์จะไม่เริ่มต้นการดาวน์โหลดอื่น ๆ นอกจากนี้ทุกการแยกและการแสดงผลกิจกรรมอาจจะถูกบล็อก
สเปค HTTP กำหนดว่าเบราว์เซอร์ไม่ควรดาวน์โหลดมากกว่าสององค์ประกอบในแบบคู่ขนาน
อีกทางเลือกหนึ่งคือการใช้ defer="true" ในแท็กสคริปต์ แอตทริบิวต์ Defer ระบุว่าสคริปต์ที่ควรจะดำเนินการหลังหน้าได้เสร็จสิ้นการแยก แต่มันทำงานเฉพาะสำหรับสคริปต์ภายนอก
ถ้าเป็นไปได้คุณสามารถเพิ่มสคริปต์ของคุณไปยังหน้าตามรหัสหลังจากที่มีการโหลดหน้า:
ตัวอย่าง
<script>
window.onload = downScripts;
function downScripts() {
var element = document.createElement("script");
element.src = "myScript.js";
document.body.appendChild(element);
}
</script>
หลีกเลี่ยงการใช้งานกับ
หลีกเลี่ยงการใช้คำหลัก แต่ก็มีผลกระทบต่อความเร็ว นอกจากนี้ยัง clutters ขึ้นขอบเขต JavaScript
ที่มีคำหลักที่ไม่ได้รับอนุญาตในโหมดที่เข้มงวด