30/09/2018, 19:44
getElementByID() va $(#ID) cái nào tối ưu hơn
Hôm bữa đi phỏng vấn thực tập có câu này mà em chịu.Do kiến thức JavaScript còn hạn chế.Theo các bác cái nào thì sử dụng tối ưu hơn,em thì thấy giống nhau.Thế mơi chết chứ.
Bài liên quan
Bạn đọc mã nguồn của jQuery sẽ rõ hơn thôi. getElementById là có sẵn còn $(id) phải kiểm tra loại của id (string,dom element…) sau đó lại kiểm tra string có phải dạng tag ("[element name]") hay class (".[class name]") … Nhiều thứ đee phân loại nên sẽ lâu hơn
Tối ưu về cái gì nhỉ, hehe.
getELementByID là function native của javascript, hiển nhiên chạy nhanh nhất rồi.
Còn $(’#ID’), chắc là hỏi sử dụng hàm trong jquery (aka $jQuery(’#ID’)) bạn sẽ thấy hàm này nó check khá nhiều thứ rồi dùng regex để trả về một object jQuery nên chắc chắn chậm hơn rồi (tuy nhiên lại nhanh hơn cho dev, và perf mất đi cũng chấp nhận được)
jquery/jquery/blob/master/src/core/init.js
This file has been truncated. show originalCâu hỏi phụ:
Ví dụ mình viết function kiểu này
function $(ID){
return getElementById(ID);
}
function này gọi trực tiếp native luôn, liệu có chậm hơn dùng trực tiếp (gọi kiểu $() vs getElementById() ^^)
jquery hon chu ban nhanh gon nhe