Estoy estudiando JavaScript, pero lo estoy haciendo de una manera muy profunda.
Me encuentro ante una duda con respecto al elemento <script>.
Según algunos autores, el elemento <script> debe ir al fondo de la página, es decir, antes de la etiqueta de cierre del body (</body>) - sé que esto no se recomienda para todos los casos dado que podemos tener scripts que se necesiten en el head debido a que realizan modificaciones al contenido -. La idea de esto es que el script no sea descargado, parseado y ejecutado. En su lugar, el script es descargado DESPUÉS del contenido, se analiza DESPUÉS del contenido y se ejecuta DESPUÉS de que el contenido sea mostrado al usuario. Al menos, yo pensaba eso...
Hice la siguiente prueba:
Usé el siguiente código JS de forma deliberada:
Código:
Como dije, es de forma deliberada por favor no me digan que es un bucle incompleto.for(var i = 0; i < 100000000; i++)
Y tengo el siguiente código HTML
Código HTML:
<!DOCTYPE html> <html> <head> </head> <body> <script src="js/code.js"></script> </body> </html>
Espero que puedan resolverlo porque la verdad que no entiendo qué es lo que pasa.
Un saludo.
EDITO: No me digan por favor que use atributos como async o defer para "solucionar el problema" porque NO TENGO NINGÚN PROBLEMA! Quiero saber qué es lo que sucede, saber si hay algo que desconozco acerca de cómo el navegador se encarga de la ejecución del script. Además, he usado async y defer y el problema persiste.