Sobes.tech
Middle

¿Cuál es la diferencia entre las etiquetas <script>, <script async> y <script defer>?

sobes.tech AI

Respuesta de la IA

<script> normal: el navegador detiene el análisis del HTML, carga y ejecuta el script, luego continúa el análisis. Bloquea la visualización.

<script async>: el script se carga de forma asíncrona, el análisis del HTML continúa. El script se ejecuta inmediatamente después de la carga, pudiendo interrumpir el análisis del HTML. El orden de ejecución de los scripts no está garantizado.

<script defer>: el script se carga de forma asíncrona, el análisis del HTML continúa. La ejecución del script se aplaza hasta que se complete el análisis del HTML y se construya el árbol DOM. Los scripts se ejecutan en el orden en que aparecen en el HTML.

Atributo Análisis de HTML Carga del script Ejecución del script Dependencia del orden
Ausente Se detiene Bloqueante Bloqueante Garantizado
async Continúa No bloqueante Puede interrumpir el análisis No garantizado
defer Continúa No bloqueante Después del análisis de HTML Garantizado