Чем глубже расположение идентификатора в JavaScript, тем медленнее он читает и пишет. Следовательно, чтение и написание локальных переменных в функции всегда самые быстрые, в то время как чтение и написание глобальных переменных обычно является самым медленным. Хорошим эмпирическим правилом является: если на значение перекрестного шкафы упоминается более одного раза в функции, то храните его в локальной переменной.
Например:
Кода -копия выглядит следующим образом:
<!-Перед оптимизацией->
<script type = "text/javascript">
функция initui () {
var bd = document.body,
links = document.getElementbytagname ("a"),
i = 0,
len = links.length;
while (i <len) {
Обновление (ссылки [i ++]);
}
document.getelementbyid ("go-btn"). onclick = function () {
начинать();
}
bd.classname = "active";
}
</script>
Эта функция относится к документу три раза, а документ является глобальным объектом. Процесс поиска этой переменной должен пройти всю связь с объемом, пока она не будет обнаружена в глобальном объекте переменной. Вы можете уменьшить воздействие на производительность, сохранив ссылку на глобальную переменную в локальной переменной, а затем используя эту локальную переменную вместо глобальной переменной.
Например:
Кода -копия выглядит следующим образом:
<!-После оптимизации->
<script type = "text/javascript">
функция initui () {
var doc = документ,
bd = doc.body,
ссылки = doc.getElementbytagname ("a"),
i = 0,
len = links.length;
while (i <len) {
Обновление (ссылки [i ++]);
}
doc.getElementbyId ("go-btn"). onclick = function () {
начинать();
}
bd.classname = "active";
}
</script>