Для тех, кто говорит «не беспокойся об этом», я не могу не согласиться с этим.
Однажды я создал такой сайт, где внешний файл JS содержал:
$(function() {
// do lots and lots of stuff
});
без внутреннего Javascript на странице HTML (PHP). Это было падение производительности, и это было с относительно эффективным выбором селектора, что никогда не означало:
$(".someClass").doStuff();
Вместо того, чтобы:
$("div.someClass").doStuff();
и т. Д. Выполнение всего Javascript заняло около секунды, хотя 95% из них ничего не делали. Мой совет? Если вам нужен высокочувствительный веб-сайт , не делайте так .
Вместо этого поместите такие функции во внешний JS:
function activate_accordion() {
$("#accordion").accordion();
}
Это, конечно, простой пример. Но дело в следующем: никакой Javascript не должен автоматически выполняться во внешнем файле Javascript, если только подавляющее большинство страниц не использует его. Ваш внешний файл Javascript должен быть просто набором функций, которые при необходимости вызываются для отдельных стр.
и затем на каждой странице внутри HTML-кода:
<script type="text/javascript">
$(function() {
activate_accordion();
}
</script>
так что вы выполняете только тот Javascript, который вы на самом деле используете. Да, это немного больше работы, потому что вы должны знать, что делает / использует каждая страница, но глобальное выполнение может быстро выйти из-под контроля.
Я уменьшаю время выполнения Javascript до 50-100 мс (с 1-2 секунд).