Cuanto más profunda sea la ubicación de un identificador en JavaScript, más lento lee y escribe. Por lo tanto, leer y escribir variables locales en una función siempre son las más rápidas, mientras que leer y escribir variables globales suelen ser las más lentas. Una buena regla general es: si se hace referencia a un valor de choza cruzado más de una vez en una función, entonces guárdelo en una variable local.
Por ejemplo:
La copia del código es la siguiente:
<!-Antes de la optimización->
<script type = "text/javaScript">
función initui () {
var bd = document.body,
enlaces = document.getElementBytagName ("A"),
i = 0,
len = links.length;
while (i <len) {
actualización (enlaces [i ++]);
}
document.getElementById ("go-btn"). onClick = function () {
comenzar();
}
bd.classname = "activo";
}
</script>
Esta función se refiere a un documento tres veces, y el documento es un objeto global. El proceso de búsqueda de esta variable debe atravesar todo el enlace del alcance hasta que finalmente se encuentre en el objeto variable global. Puede reducir el impacto del rendimiento almacenando la referencia a la variable global en una variable local, y luego utilizando esta variable local en lugar de la variable global.
Por ejemplo:
La copia del código es la siguiente:
<!-después de la optimización->
<script type = "text/javaScript">
función initui () {
var doc = documento,
bd = doc.body,
enlaces = doc.getElementBytagName ("A"),
i = 0,
len = links.length;
while (i <len) {
actualización (enlaces [i ++]);
}
doc.getElementById ("go-btn"). onClick = function () {
comenzar();
}
bd.classname = "activo";
}
</script>