15. js延迟加载和异步加载的区别,各自实现方法?
(参考:《javascript高级程序设计第3版》 P13 2.1.2 2.1.3 点击了解更多)
个人理解,欢迎指出问题和讨论。
差别主要在于�何时进行脚本的执行,如果说defer是一种�超市结账口有序排队场景,那么async就是路边摊甩卖时混乱的疯抢状态。
正常情况下,当浏览器在解析HTML源文件时如果遇到外部的script,那么解析过程会暂停,并发送请求来下载script文件,只有script完全下载并执行后才会继续执行DOM解析。
async 和 defer 标注的 script 会被立即下载,html解析不会暂停
XHTML文档中写法:
延迟脚本:defer = "defer"
异步脚本: async = "async" (读作:[ə'sɪŋk] )
区别:
defer:顺序加载,延迟执行
延迟
延迟脚本
:脚本会被延迟到整个页面都解析完毕后再运行,即“立即下载,延迟执行”
,延迟是延迟到