Настоящая причина, по которой все стоит внизу, прямо перед </body>
, заключается в том, что ваши страницы отображаются быстро.
Это метод оптимизации , который позволяет вашей странице отображаться в браузере до того, как все загрузится. Если вы поместите весь свой javascript вверху, страница будет выглядеть пустой, пока она не закончит загрузку скрипты, и пользователь почувствует, что ваш сайт работает очень медленно и, вероятно, уйдет.
Таким образом, не имеет значения, куда вы положили его, он все равно будет работать, разница в том, что вы позволяете своим посетителям просматривать некоторый контент и даже нажимать на ссылку даже до загрузки всего javascript.
@ Dan Beam: Размещение вашего CSS внизу может показывать первый рендер страницы странным образом, потому что CSS еще не загружен.