延迟加载js方式
一、延迟加载js有哪些方式
除了setTimeOut()还有async和defer。例如:
<script defer type="text/javascript" src="a.js"></script>
1.正常渲染
首先html会解析,然后html暂停,暂停的同时,js文件下载然后执行,执行完html解析。
1.加了async
首先html解析,同时js文件下载,然后html解析暂停,js执行(谁先下载完谁先执行),执行完html解析。
2.加了defer
html全部解析完,js文件全部下载完,然后执行js文件,并且是顺次执行。
总结
async和defer区别:
defer:等html全部解析完,才会执行js代码,顺次执行js脚本。
async:async和html是同步解析的,不是顺次执行js脚本(谁先加载完谁就先执行)