时间线

从创建Document对象开始解析文档,然后开始绘制Dom树,代码从上到下依次解析,属于同步的代码会等待加载完成后再继续加载文档,也就是阻塞了DOM的绘制。但是带有link,src属性的标签是会放在线程池里面去异步加载完成后再放出执行队列中。

但是script标签是一个例外,它是同步加载的,这样会导致代码阻塞,我们需要将其放在代码的最后,或者通过下列三种方法之一让它成为异步加载

js加载的三种方式:
1.async 引入外部脚本的script标签,不能写js代码
2.defer 等到dom文档全部解析完成才会被执行 IE使用
3.按需加载 创建一个script标签,插入到dom中,加载完毕后通过callback函数返回

原文地址:https://www.cnblogs.com/yzxyzx/p/11637829.html