Для этого есть веские и плохие причины.
ХОРОШО) Если скрипт не критичен для построения DOM вашей страницы, хорошо бы сделать это как можно позже, как предполагает Джим Пульс, обычно в самом низу страницы в корневом узле BODY. Это хорошо, потому что позволяет визуализировать XHTML немедленно, создавая психологический эффект, что страница «загружается быстрее». В действительности, он загружается с той же скоростью, за исключением того, что браузер не тратит циклы ЦП на загрузку, интерпретацию и запуск JS, пока пользователь смотрит в белое окно браузера.
ПЛОХО) Теги скрипта обычно загружаются в интерпретированном порядке, в котором они заключены. Это означает, что вам нужно тщательно управлять порядком, в котором они включены. Кроме того, поскольку они загружаются последовательно (по одному), вы платите высокую цену за каждый дополнительный файл, на который ссылаетесь, потому что браузер должен установить соединение, проверить кэш, загрузить и т. Д. Такие хитрости, как IE "DEFFER", не стандартны. По этой причине я настоятельно рекомендую упаковать ваш javascript в один файл при переходе от разработки к производству, чтобы пользователям не приходилось устанавливать несколько соединений последовательно. Также убедитесь, что у вас включено сжатие gzip.
ХОРОШО) Существует способ ленивой загрузки скриптов с использованием AJAX - вы вызываете сервер, запрашивая JS, и вызываете событие при загрузке файла. Затем вы можете вызвать на нем eval (или какой-нибудь более безопасный вариант), который перенесет его символы в область видимости. Это позволяет параллельную загрузку скрипта.
GOOD & BAD) В IE вы должны избегать манипулирования деревом DOM до полной загрузки DOM. Посмотрите на событие 'dom: загружен' для этого.