Есть ли разница?
Если он находится в самом конце вашего документа, то в большинстве случаев они будут одинаковыми. Проблема с первым методом состоит в том, что он запускается, как только он встречается, и документ ожидает его завершения.
Где разместить сценарии?
Общая рекомендация заключается в том, что они располагаются в конце документа, внутри тела. Спецификация не допускает, чтобы ничего кроме head
и body
находилось непосредственно внутри тега html
.
Причина этой рекомендации заключается в том, что, поскольку почти весь ваш javascript будет запущен после завершения загрузки документа, нет смысла загружать его до самого конца. Если вы поместите его в начало документа, в заголовок, то браузер должен загрузить все ваши сценарии, прежде чем он даже попадет в контент, то есть пользователю придется немного дольше смотреть на пустую страницу.
Рекомендации:
Если в эти дни вы используете какой-либо из распространенных наборов инструментов / библиотек javascript, у них часто будет своя собственная конструкция для указания некоторого кода, запускаемого после того, как страница будет готова. Например, в jQuery это так:
$(function() { /* code here */ });
Кроме того, хорошее использование упаковки / минимизации javascript, кэширования и gzipping на стороне сервера минимизирует негативные последствия размещения сценариев в голове, где они обычно размещаются. Тем не менее, это не повредит, чтобы бросить его в конце.