defer(延迟)属性:仅适用于外部脚本(即只有在使用 src 属性时,该属性才有效),规定对脚本执行进行延迟。下载脚本时不阻塞页面的解析执行,直至页面加载解析执行完成后,才开始执行脚本。
async(异步)属性:适用于外部脚本(即只有在使用 src 属性时,该属性才有效),规定异步执行脚本。下载时不会阻塞页面的解析执行,下载完成后立刻执行脚本,此时,如果页面没有解析执行完,则会阻塞页面加载解析。
(注意:如果同时指定了两个属性,则会遵从async属性而忽略defer属性。)
只有一个脚本情况下分析:
有多个脚本情况下分析