Sobes.tech
Middle

Qual é a diferença entre as tags <script>, <script async> e <script defer>?

sobes.tech IA

Resposta da IA

Script normal: o navegador para a análise do HTML, carrega e executa o script, depois continua a análise. Bloqueia a visualização.

<script async>: o script é carregado de forma assíncrona, a análise do HTML continua. O script é executado imediatamente após o carregamento, podendo interromper a análise do HTML. A ordem de execução dos scripts não é garantida.

<script defer>: o script é carregado de forma assíncrona, a análise do HTML continua. A execução do script é adiada até que a análise do HTML seja concluída e a árvore DOM seja construída. Os scripts são executados na ordem em que aparecem no HTML.

Atributo Análise do HTML Carregamento do script Execução do script Dependência da ordem
Ausente Para Bloqueante Bloqueante Garantido
async Continua Não bloqueante Pode interromper a análise Não garantido
defer Continua Não bloqueante Após a análise do HTML Garantido