defer和async到底啥区别还是没听懂呢

来源:4-5 script标签属性

尤尼酱

2019-04-06 21:31:41

defer和async到底啥区别还是没听懂呢

写回答

5回答

bbbboom

2019-04-07

如果你把script标签写在head中,按照文档的加载顺序,script加载并执行完毕之后才会加载DMO结构,可能会造成阻塞,DOM结构没有加载完就执行有可能会报错。

defer的意思只是加载,并不执行js代码,等DOM结构全部加载完毕之后再执行。

async的意思是先加载,执行的时候和DOM结构加载一起,两个同时进行。

13

能量咕噜略略

2020-02-01

发现视频里讲了10分钟的话,不如下面4行字的解释...真是无语,视频里的老师自己把自己都讲绕了。

11

喝牛奶对身体好

2020-07-19

defer:文档解析时,遇到设置了defer的脚本,就会在后台进行下载,但是并不会阻止文档的渲染,当页面解析&渲染完毕后。
会等到所有的defer脚本加载完毕并按照顺序执行,执行完毕后会触发DOMContentLoaded事件。

async:会使得script脚本异步的加载并在允许的情况下执行
async的执行,并不会按着script在页面中的顺序来执行,而是谁先加载完谁执行。因此DOMContentLoaded事件的触发与async脚本执行的顺序并不一定。

总结:二者都不会阻塞DOM渲染,如果脚本依赖DOM元素或被其他脚本依赖用defer,反之用async。


1

好帮手慕码

2020-09-06

同学你好,这部分比较抽象,所以理解起来比较难,可以参考“bbbboom”同学的总结理解一下哦。

祝学习愉快~

0

MiMicccc

2020-09-05

其实我也没听懂老师到底想告诉我们什么,我听着他好像就是在对ppt里面两行字进行强行解释?????????????????????????????????有点无语

0

0 学习 · 40143 问题

查看课程