页面中的JS,默认情况下加载时候会阻塞后面的内容。不过加上 async 或defer 就不一样了。
**async **
JS中加了 async 后,这条js 不会阻塞后面的内容了,两者并行执行(加载异步),并且这条js 加载完后会马上执行。defer
js中加了defer后,这条js不会阻塞后面的内容,两者并行进行(加载异步),但是这条js是被加载,执行要等到所有元素解析完成之后。
async 不保证js的执行顺序,谁先加载完就谁先执行。
defer 保证了js的执行顺序,加载完了谁都不许执行,等所有元素解析完了,js再一条一条执行。