async
异步加载,乱序,只要它加载完了就会立刻执行。不阻塞页面解析。在window.onload前执行完。
defer
异步加载,DOMContentLoaded 事件触发之前完成,并且是安装加载顺序运行,相当于把js放在body最后。
prefetch
用于告诉浏览器,这段资源将会在未来某个导航或者功能要用到,但是本资源的下载顺序权重比较低。也就是说prefetch通常用于加速下一次导航,而不是本次的。被标记为prefetch的资源,将会被浏览器在空闲时间加载。
preload
通常用于本页面要用到的关键资源,包括关键js、字体、css文件。preload将会把资源得下载顺序权重提高,使得关键数据提前下载好,优化页面打开速度。
__注:__这个影响到浏览器下载资源的优先级,具体可参阅下这篇文章:
https://www.cnblogs.com/xiaohuochai/p/9183874.html
css的优先级居然比js高…