需求:加载js或css,onload后做一些事情(因为有依赖关系,回调方法里用到了加载js的方法)
首先,第一个问题,加载js是否阻塞主线程??自测如下,欢迎拍砖和补充。
如图,当执行完循环的时候,body的内容没有显示出来。
2:在head或者body标签中,引入外部js文件,这样会阻塞进程的!
代码如下:
首先,第一个问题,加载js是否阻塞主线程??自测如下,欢迎拍砖和补充。
如图,当执行完循环的时候,body的内容没有显示出来。
![](https://i-blog.csdnimg.cn/blog_migrate/08ca8e35f0e7f43715bfe397b028d80f.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/7c59adb5742d9ba4b0a909e3b7dc642d.jpeg)
2:在head或者body标签中,引入外部js文件,这样会阻塞进程的!
代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/625733932cbc388942920a739d99612d.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/6b4ce8f6cde28f5b22b00f0fa8da0d55.jpeg)
结果如图所示: 当执行完循环的时候,body的内容同样没有显示出来,说明外链js的方式也阻塞了进程。
3:在head或者body标签中,javaScript创建script标签引入js文件,这样相当于开启了一个新的进程,不会阻塞当前进程。
代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/3d1dcc0535a722b45669bd532419a0bf.png)
![](https://i-blog.csdnimg.cn/blog_migrate/71263aef994a68a1e619ddcd88d36217.jpeg)
结果如图所示: 当执行完循环的时候,body中显示出了文字 ,说明动态创建script标签的方式是异步的,并没有阻塞当前进程的执行。
![](https://i-blog.csdnimg.cn/blog_migrate/9ea15f0ad8499d8435e00d65a3dc869c.jpeg)