Como han dicho otras personas, cuando pones javascript en la cabeza, retrasa la renderización de la página hasta que se carguen las secuencias de comandos, lo que significa que la página puede tardar más en cargarse, especialmente si descargas grandes archivos de script.
Si mueve las etiquetas de secuencia de comandos al final de la página, se asegurará de que el navegador descargue imágenes y hojas de estilo antes de las etiquetas de secuencia de comandos y la página probablemente emita antes de que los scripts comiencen a ejecutarse. Esto también significa que si depende de alguna funcionalidad de sus scripts, esto no estará disponible hasta un momento después de que el usuario pueda ver la página.
Si está agregando estilos o elementos (etc. cambiando los campos de texto con algún tipo de editor más rico) esto será visible para el usuario como parpadeo.
Si agrega eventos de clic a elementos, no se podrá hacer clic hasta poco después de que los elementos estén visibles.
A veces estos problemas requieren que coloque sus scripts en la cabeza, otras veces estará bien colocándolos en la parte inferior.
En mi humilde opinión (completamente en contra de YSlow y muchas personas inteligentes) debe mantener sus scripts en la etiqueta de la cabeza, y simplemente confíe en que se almacenarán en caché la mayor parte del tiempo.
http://stackoverflow.com/questions/383045/is-put-scripts-at-the-bottom-correct – froadie
Vea también: http://stackoverflow.com/questions/1013112/where-should-i- declare-javascript-files-used-in-my-page-in-head-head-or-near y http://stackoverflow.com/questions/383045/is-put-scripts-at-the-bottom-correct – CMS