延迟脚本
- defer
- 在
异步脚本
-
async
-
在XHTML文档中,要把defer属性设置为async=“async”
-
共同点:
都用于改变处理脚本的行为
适用外部脚本文件 -
不同点:
在现实当中defer并不一定会按照顺序执行,也不一定会在DOMContentLoaded事件触发前执行
异步脚本一定会在页面的load事件前执行,但可能会在DOMContentLoaded事件触发前后执行
标记为async的脚本并不能保证按照它们的先后顺序执行 -
目的
defer:脚本在执行是不会影响页面的构造,脚本会在整个页面都解析完毕后在运行,最后只包含一个延迟脚本
saync:不让页面等待两个脚本下载和执行,从而异步加载页面其他内容,建议异步脚本不要在加载期间修改DOM