• 技术文章 >web前端 >js教程

    JavaScript加载:defer与async

    藏色散人藏色散人2019-05-09 09:35:56转载1054

    页面的解析过程是单线程的,但是单线程亦可有同步与异步之分,script标签的解释方式分为3种,默认、defer和async三种

    <script src="script.js"></script>

    默认模式,浏览器会立即加载并执行指定的脚本,“立即”指的是在渲染该 script 标签之后的所有文档内容之前,也就是说不等待后续载入的文档元素,读取到就加载并执行。

    <script async src="script.js"></script>

    async加载模式,加载和渲染后续文档元素的过程, script.js 异步加载,并且在script.js加载完成之后同步执行script.js(可能在后续文档元素解析完成的过程中)

    <script defer src="script.js"></script>

    defer加载模式,加载和渲染后续文档元素的过程, script.js 异步加载,并且在script.js加载完成和后续文档元素解析完成之后同步执行script.js

    d612e173113ad4ec18b6b5d13014dc0.png

    script 标签解析时间图

    只有以src属性链接的script标签这2个属性才起作用。

    <script defer type="text/javascript" src=""></script>

    不带src属性script标签在文档加载时顺序加载,这两个属性无效。

    <script type="text/javascript">
        let idEle = document.getElementById("app");
    </script>

    以上就是JavaScript加载:defer与async的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:aliyun,如有侵犯,请联系admin@php.cn删除
    专题推荐:JavaScript defer async
    上一篇:学javascript要什么基础? 下一篇:tomcat是什么语言开发的?
    大前端线上培训班

    相关文章推荐

    • 基于TensorFlow.js的JavaScript机器学习• JavaScript中的垃圾回收和内存泄漏• javascript 作用域详解• JavaScript ES6介绍

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网

    默认模式,浏览器会立即加载并执行指定的脚本","pubDate": "2019-05-09T09:35:56","upDate": "2019-05-09T09:35:56","data": {"WebPage": {"headline": "JavaScript加载:defer与async","wapUrl": "//m.m.sbmmt.com/article/418427.html","pcUrl": "//m.sbmmt.com/m/js-tutorial-418427.html","fromSrc": "php中文网","domain": "电子科技","category": ["问答"],"isDeleted": 0},"Question": [{"acceptedAnswer":"页面的解析过程是单线程的,但是单线程亦可有同步与异步之分,script标签的解释方式分为3种,默认、defer和async三种 默认模式,浏览器会立即加载并执行指定的脚本"}],"ImageObject": [{"contentUrl": "//m.sbmmt.com/img/upload/article/000/000/020/5cd383dd22a04848.png","scale": "5:2"}],"Author": [{"name": "php中文网","jobTitle": ["php公益学习平台"],"headPortrait": "https://img.php.cn/upload/article/000/000/003/5d1b23156bf94358.png"}]}}