Tengo una pregunta sobre los selectores de DOM.
¿Hay alguna diferencia de rendimiento entre;
Este código:
if (document.getElementById("post-dropdown-menu-" + postID) && document.getElementById("post-dropdown-menu-" + postID).style.display != "none") { document.getElementById("post-dropdown-menu-" + postID).fadeOut(200); return false; }Y este código:
var neededElement = document.getElementById("post-dropdown-menu-" + postID); if (neededElement && neededElement.style.display != "none") { neededElement.fadeOut(200); return false; }Realmente quiero saber si el navegador o javascript están haciendo DOM Select proc. de nuevo si el elemento ya se usa en una función.
Por supuesto, el segundo es más rápido porque solo usa el selector de consultas una vez, lo que significa menos procesamiento.
y aquí hay un puntaje de prueba usando JSBench.
Tenga en cuenta que el efecto nunca se notará excepto si está usando esto dentro de un bucle más o menos.