Attribut de script en HTML5 :
En plus des attributs définis par le nouveau standard HTML5, la balise
script en HTML5 a supprimé l'attribut de langue par rapport à HTML4.01 et a modifié l'attribut de type pour qu'il soit facultatif (texte par défaut /javascript), et un nouvel attribut async est ajouté.
async : booléen, le rôle de l'attribut, définit si le script est exécuté de manière asynchrone, la valeur est vraie ou fausse.
Si async est défini sur true, l'attribut defer sera ignoré.
Les fichiers js exécutés de manière asynchrone sont supposés ne pas utiliser document.write() pour écrire du contenu dans le document de chargement, donc n'utilisez pas document.write() pendant le chargement et l'exécution de fichiers js exécutés de manière asynchrone
Sauf en plus à l'attribut script tag, la façon dont la page introduit le fichier js affecte son mode de chargement et d'exécution :
Tout fichier js introduit en ajoutant un nœud de script (tel que appendChild(scriptNode)) est exécuté de manière asynchrone (scriptNode doit être inséré dans le document. Le simple fait de créer le nœud et de définir src ne chargera pas le fichier js, ce qui n'est pas analogue au préchargement de img)
Le code dans la balise