Hiệu suất trong JavaScript
- Trang trước Lỗi JS
- Trang sau Từ khóa JS
Cách tăng tốc mã JavaScript của bạn.
Giảm hoạt động trong vòng lặp
Vòng lặp thường được sử dụng trong lập trình.
Mỗi lần lặp của vòng lặp, mỗi câu lệnh trong vòng lặp, bao gồm for
cả các câu lệnh, sẽ được thực thi.
Các câu lệnh hoặc gán giá trị có thể đặt bên ngoài vòng lặp sẽ làm cho vòng lặp chạy nhanh hơn.
Mã xấu:
var i; for (i = 0; i < arr.length; i++) {
Mã tốt hơn:
var i; var l = arr.length; for (i = 0; i < l; i++) {
Mã xấu sẽ truy cập vào mảng trong mỗi lần lặp: length
thuộc tính.
Mã tốt sẽ truy cập bên ngoài vòng lặp length
thuộc tính, để làm cho vòng lặp nhanh hơn.
Giảm số lần truy cập DOM
So với JavaScript khác, việc truy cập vào HTML DOM rất chậm.
Nếu bạn mong muốn truy cập vào một yếu tố DOM nhiều lần, hãy chỉ truy cập một lần và sử dụng nó như một biến cục bộ:
Mô hình
var obj; obj = document.getElementById("demo"); obj.innerHTML = "Hello";
Giảm quy mô DOM
Hãy cố gắng duy trì số lượng yếu tố ít hơn trong HTML DOM.
Làm như vậy sẽ luôn luôn tăng tốc độ tải trang và tăng tốc độ render (hiển thị trang), đặc biệt là trên các thiết bị nhỏ.
Mỗi lần cố gắng tìm kiếm DOM (ví dụ như getElementsByTagName
)sẽ获益于 một DOM nhỏ hơn.
Tránh biến không cần thiết
Hãy không tạo biến mới mà không dự định lưu trữ giá trị.
Thường thì bạn có thể thay thế mã:
var fullName = firstName + " " + lastName; document.getElementById("demo").innerHTML = fullName;
Dùng đoạn mã này:
document.getElementById("demo").innerHTML = firstName + " " + lastName
Độ trễ tải JavaScript
Đặt kịch bản ở cuối trang, để trình duyệt tải trang trước tiên.
Khi tải xuống, trình duyệt sẽ không khởi động bất kỳ tải xuống nào khác. Ngoài ra, tất cả các hoạt động phân tích và render có thể bị chặn.
Tiêu chuẩn HTTP định nghĩa rằng trình duyệt không nên tải song song quá hai yếu tố.
Một tùy chọn là sử dụng trong thẻ script defer="true"
.Thuộc tính defer quy định rằng mã nên được thực thi sau khi trang hoàn thành phân tích, nhưng nó chỉ áp dụng cho mã bên ngoài.
Nếu có thể, bạn có thể thêm mã vào trang sau khi trang đã tải xong bằng mã:
Mô hình
<script> window.onload = downScripts; function downScripts() { var element = document.createElement("script"); element.src = "myScript.js"; document.body.appendChild(element); } </script>
Tránh sử dụng with
Hãy tránh sử dụng with
Từ khóa. Nó có tác động tiêu cực đến tốc độ. Nó cũng có thể làm rối loạn phạm vi JavaScript.
Trong chế độ chặt chẽKhông được phép Từ khóa with.
- Trang trước Lỗi JS
- Trang sau Từ khóa JS