js异步和同步加载在性能优化中有什么区别
发布网友
发布时间:2022-04-23 16:55
我来回答
共1个回答
热心网友
时间:2022-05-03 08:28
<script src="file.js></script>
<img src="image.jpg" /> 图片多快出现在你眼前,取决于file.js的装载速度
异步
<script async src="file.js></script>
<img src="image.jpg" /> 图片多快出现在你眼前,不依赖于file.js的装载与执行速度
就是说file.js和image.jpg会同时被请求,什么时候file.js可以执行取决于它自己的下载速度,什么时候渲染image.jpg也只取决于它自己的下载速度。
只有外部引用的javascript才有同步异步的区别,inline的script只有执行的问题,没有远程加载的问题,overhead要小很多所以通常不是问题,只要你不在JS代码里做很慢的同步运算
<script>
....
</script>
调整javascript文件在文件里的位置,和同步异步没有关系,把javascript放在文件后面的方法,叫deferring(延后加载),除了手动把script移动到文档末尾,还可以用
<script defer src="file.js"></script>
意思是在html文件parse完(产生DOM)以后,才执行file.js。