最近看了一些关于浏览器阻塞加载的的资料,有一个地方一直疑惑不解。
首先是介绍阻塞机制的时候,提到:
“为什么浏览器不能把javascript代码的加载过程拆分为下载和执行两个并行的过程,这样就可以充分利用时间完成http请求,这样不是就能提升页面的加载效率了吗?这个问题的答案当然是否定的,javascript是一个编程语言,js代码是有智力的,它除了可以完成逻辑性的工作,还可以通过操作页面元素来改变页面UI效果,如果我们忽略javascript对UI的影响,让它延迟执行,结果会造成页面展示的混乱。”
但是后面介绍无阻塞机制的时候,采用dom方法添加js元素。并提到
“无阻塞脚本的好处就是不会阻塞UI的执行,也不会影响其他同步js代码的执行”。可是这样的话,不也会面对阻塞机制的问题,即如果js的加载重构了DOM树,或者是对UI效果发生了变化,那么不也造成页面展示的混乱了吗?
不太理解。。看的好几份资料都没有搞清楚这个dom添加js元素的方法为什么可以规避js对UI的影响。求指教
