Tôi đã bắt đầu một loạt các posts on javascript/jQuery optimization và tình cờ gặp phải kết quả thú vị này.Giảm thiểu trường hợp jQuery và tạo nhiều phiên bản
Tại sao nó giảm thiểu các đối tượng jQuery (bằng cách tìm kiếm từ một bộ sưu tập jQuery đã lưu trong bộ nhớ cache) có thể chậm hơn sau đó tạo thêm các đối tượng của các đối tượng jQuery?
Tôi đã choáng váng khi thấy kết quả của bài kiểm tra tôi đã chuẩn bị. Tôi luôn nghĩ rằng việc giảm thiểu việc tạo ra các phiên bản $ là chậm hơn.
Đây là những gì tôi được sử dụng để viết, như tôi nhớ cache cha mẹ (tôi gọi nó là "appRoot").
var appRoot = $("#appRoot");
appRoot.find(".element1").css("color","red");
appRoot.find(".element2").css("color","blue");
vs
$(".element1").css("color","red");
$(".element2").css("color","blue");
Xem kết quả kiểm tra (kịch bản hơi khác nhau). jsperf minimize-jquery-object-creation nó chỉ ra rằng đoạn mã được lưu trong bộ nhớ cache chậm hơn đoạn mã chưa được đính kèm.
Tôi đang cố gắng hiểu tại sao?
điều này thú vị – amosrivera
Đây là lý do tại sao việc lập hồ sơ mã là rất quan trọng. –
Có thể jquery .find() chậm hơn khi DOM tìm kiếm? – Cristy