关于script标签的defer属性

查了网上很多资料,都说defer表示在js文件加载好之后,只有在html解析完毕的情况下才按顺序执行js,但有一种情况是html解析完毕了,a.js没加载好了,但b.js加载好了,按顺序应该是先执行a.js再执行b.js,这个时候会不会先执行b.js,然后a.js加载好之后再执行a.js ?

推荐一篇文章


defer 和 async 都是异步(并行)加载资源,不同点是 async 是加载完立即执行,而 defer 是加载完不执行,等到所有元素解析完再执行,也就是 DOMContentLoaded 事件触发之前。
因为 async 加载的资源是加载完执行,所以它比不能保证顺序,而 defer 会按顺序执行脚本。

这里的html解析完毕了 那么a.js b.js肯定也加载完了啊?不存在html解析完毕 a.js没加载完成的情况