script加载顺序(async和defer的区别)

图片来自网络 默认方式 浏览器会并行加载script, 但是执行是书写的顺序,如果script1执行未完毕,就不会开始执行script2,尽管script2已经加载完。 而且这种方式会阻碍script标签后面其他元素的渲染,直到script1执行完毕才会渲染后面的dom
after scrpit1
after scrpit2
async方式 这种方式不会阻碍script标签后面其他元素的渲染,谁加载快谁先执行
after scrpit1
after scrpit2
测试用例:使用node服务,将script1请求的响应时间控制比script2长 测试结果: 1. script2开始执行 1576223742526 2. script2执行完毕 1576223744794 3. script1开始执行 1576223744795 4. script1开始执行 1576223747009 defer方式 这种方式不会阻碍script标签后面其他元素的渲染,会按照书写书序执行.
after scrpit1
after scrpit2
测试用例:使用node服务,将script1请求的响应时间控制比script2长 测试结果: 1. script1开始执行 1576224918596 2. script1开始执行 1576224920828 3. script2开始执行 1576224920829 4. script2执行完毕 1576224923093

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):