当前位置: 首页 > wzjs >正文

网站免费注册免费网站建设合同范本

网站免费注册,免费网站建设合同范本,图片设计美工,公司网页目录 JavaScript 标签加载script 标签的 async 和 defer 属性,分别代表什么,有什么区别1. 普通 script 标签2. async 属性3. defer 属性4. type"module"5. 各种加载方式的对比6. 使用建议 JavaScript 标签加载 script 标签的 async 和 defer …

目录

  • JavaScript 标签加载
    • script 标签的 async 和 defer 属性,分别代表什么,有什么区别
      • 1. 普通 script 标签
      • 2. async 属性
      • 3. defer 属性
      • 4. type="module"
      • 5. 各种加载方式的对比
      • 6. 使用建议


JavaScript 标签加载

script 标签的 async 和 defer 属性,分别代表什么,有什么区别

标准答案

1. 普通 script 标签

<script src="script.js"></script>
  • 加载和执行都会阻塞 HTML 解析
  • 按照在文档中的顺序执行
  • 在全局作用域中执行
  • 可以访问全局变量和函数
  • 不支持跨域加载(除非设置 CORS)

2. async 属性

<scriptasyncsrc="script.js"
></script>
  • 异步加载脚本,不阻塞 HTML 解析
  • 加载完成后立即执行,可能会中断 HTML 解析
  • 适用于独立脚本,如第三方统计、广告等
  • 执行顺序不保证,谁先加载完谁先执行
  • 在全局作用域中执行
  • 可以访问全局变量和函数
  • 不支持跨域加载(除非设置 CORS)

3. defer 属性

<scriptdefersrc="script.js"
></script>
  • 异步加载脚本,不阻塞 HTML 解析
  • 等待 HTML 解析完成后,DOMContentLoaded 事件前执行
  • 多个 defer 脚本按照在文档中的顺序执行
  • 适用于需要操作 DOM 或依赖页面结构的脚本
  • 在全局作用域中执行
  • 可以访问全局变量和函数
  • 不支持跨域加载(除非设置 CORS)

4. type=“module”

<scripttype="module"src="script.js"
></script>
  • 异步加载脚本,不阻塞 HTML 解析
  • 默认具有 defer 属性,等待 HTML 解析完成后执行
  • 支持 ES6 模块系统,可以使用 import/export
  • 严格模式(‘use strict’)下执行
  • 具有自己的作用域,不会污染全局作用域
  • 支持跨域加载(需要设置 CORS)
  • 只能通过 HTTP(S) 协议加载,不能通过 file:// 协议加载
  • 模块只会被加载一次,即使多次引用也只会执行一次
  • 模块加载顺序按照 import 语句的顺序执行

5. 各种加载方式的对比

特性普通 scriptasyncdefertype=“module”
加载方式同步异步异步异步
执行时机立即执行加载完立即执行HTML 解析完成后执行HTML 解析完成后执行
执行顺序按文档顺序不保证顺序按文档顺序按 import 顺序
作用域全局全局全局模块作用域
严格模式可选可选可选强制
跨域支持需要 CORS需要 CORS需要 CORS需要 CORS
协议要求必须 HTTP(S)
模块支持不支持不支持不支持支持
重复加载会重复执行会重复执行会重复执行只执行一次

6. 使用建议

  1. 普通 script

    • 适用于简单的脚本
    • 需要立即执行的脚本
    • 对加载顺序有严格要求的脚本
  2. async

    • 适用于独立的第三方脚本
    • 不依赖 DOM 的脚本
    • 统计、分析等工具脚本
  3. defer

    • 适用于需要操作 DOM 的脚本
    • 依赖页面结构的脚本
    • 需要按顺序执行的脚本
  4. type=“module”

    • 适用于现代 JavaScript 应用
    • 需要模块化的代码
    • 需要严格作用域的代码
    • 需要代码复用的场景
http://www.dtcms.com/wzjs/550412.html

相关文章:

  • 网站常用字体大小Wordpress 模块wordkey
  • 做外贸怎样浏览国外网站七牛图片水印 wordpress
  • 自学网站密云区免费网站建设
  • 必应站长平台网站域名交易
  • 比wordpress更好的网站程序wordpress用户自建
  • 网站建设费怎样摊销o2o电子商务网站开发与运营
  • 小程序做网站百度广告联系方式
  • 如何评估一个网站wordpress只收录首页
  • 中国人做外贸生意的网站今天新闻联播主要内容
  • 国土资源和建设部网站WordPress留言提取
  • 坂田网站建设哪家好wordpress 视频展示
  • 2345浏览器网站大全wordpress手机app登陆
  • 建站公司新闻资讯导航类网站源码
  • 长沙手机网站建设工程装修
  • 建设物流网站的规划河东网站建设公司
  • 创意上海专业网站建设学校网站怎么做的好
  • 怎么增加网站关键词库做二维码签到的网站
  • 阿里云建设网站的流程网站建设 岗位职责 智联
  • 网站建设需要懂什么软件推广引流最快的方法
  • 如何免费建立自己网站程序员网站需要多少钱
  • 做网站报价明细表厚街h5网站建设
  • 上海知名的网站公司企业整站推广
  • 网站诊断表百度app常用网址在哪里
  • 2015网站备案没下来什么网站流量高
  • 网站策划书籍推荐个人电脑做服务器网站
  • 如何做网站免费教程电子商务网站建设题库
  • 小语种网站建设要点商丘网站制作费用
  • 工商年检在哪个网站做wordpress配置外网映射
  • 哈尔滨网站排名公司苏州网页设计培训
  • 如何给客户做网站方案源码之家app