Скрипты в большинстве своем взаимодействуют с теми или иными элементами, расположенными на странице. Браузер читает содержимое страницы линейно, сверху вниз. Поэтому, обнаружив на странице скрипт, браузер сразу начнет его выполнение, не имея в это время информации о всех элементах расположенных далее. И если в этом скрипте будет запрашиваться один из ещё не обнаруженных элементов - компилятор js выдаст ошибку. Именно поэтому все js рекомендуют располагать в конце страницы. Бесплатные обои.