Tôi đã đọc gần đây hơn về hiệu quả của các công cụ chọn khác nhau. Tôi biết rằng jQuery sử dụng công cụ Sizzle và this blog post về một số nội dung jQuery đã đề cập rằng công cụ Sizzle sẽ tách bộ chọn của bạn thành một mảng rồi phân tích từ trái sang phải.Bộ chọn jQuery, hiệu quả
Sau đó, từ phải sang trái, bắt đầu giải mã từng mục bằng cụm từ thông dụng. Điều này cũng có nghĩa là phần bên phải của bộ chọn của bạn phải càng cụ thể càng tốt - ví dụ: tên id hoặc thẻ.
Câu hỏi của tôi là cho dù đó là hiệu quả hơn để chạy một selector với chỉ ID tiết hoặc ghi tên thẻ cũng như:
var div = $('#someId');
//OR
var div = $('div#someId');
Kể từ khi tôi viết CSS của tôi dưới hình thức div#someId
tôi có xu hướng để làm bộ chọn của tôi theo cùng một cách, tôi có gây ra Sizzle để thực hiện công việc phụ hay không (giả sử QuerySelectorAll không khả dụng)?
Câu hỏi hay! Tôi đã nghĩ về việc tự hỏi một câu hỏi tương tự. –
Đối với câu hỏi hiệu suất, câu trả lời hay nhất thường là tự mình thử. jsperf.com có thể giúp bạn đo điểm chuẩn đoạn mã javascript. – Eduardo