Как говорили другие люди, когда вы помещаете javascript в заголовок, он задерживает рендеринг страницы до тех пор, пока скрипты не загрузятся, что означает, что страница может загружаться дольше, особенно если вы загружаете большие файлы скриптов.
Если вы переместите теги сценария в конец страницы, вы убедитесь, что браузер загружает изображения и таблицы стилей до тегов сценария, и страница, скорее всего, будет отображена до того, как сценарии начнут запускаться. Это также означает, что если вы зависите от некоторых функций своих скриптов, они будут доступны только через некоторое время после того, как страница станет видимой для пользователя.
Если вы добавляете стили или элементы (и т. Д. Переключаете текстовые поля с помощью более обширного редактора), это будет видно пользователю как мерцающее.
Если вы добавляете события щелчка к элементам, они не будут доступны для щелчка, пока сами элементы не станут видимыми.
Иногда эти проблемы требуют, чтобы вы положили свои сценарии в голову, в других случаях у вас все будет хорошо, вставив их внизу.
ИМХО (полностью против YSlow и множества умных людей), вы должны хранить свои скрипты в теге head и просто полагаться на их кеширование большую часть времени.