defer 和 async:JavaScript异步编程的利器

这篇具有很好参考价值的文章主要介绍了defer 和 async:JavaScript异步编程的利器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

defer 和 async:JavaScript异步编程的利器,javascript,开发语言,ecmascript

🤍 前端开发工程师、技术日更博主、已过CET6
🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1
🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》
🍚 蓝桥云课签约作者、上架课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》

摘要:

本文将介绍deferasync这两个JavaScript异步编程的关键概念,帮助您了解如何利用它们实现更高效、灵活的异步操作。

引言:

🌐 在现代Web开发中,异步编程是实现高效、响应式用户体验的关键。deferasyncJavaScript中的两个重要关键字,用于控制脚本的异步执行。接下来,让我们一起来探索deferasync的奥秘。

正文:

1️⃣ defer和async的概念

  • defer:defer关键字用于告诉浏览器,当整个页面在所有元素解析完成后执行脚本。这通常用于在不影响页面加载的情况下执行脚本。
  • async:async关键字用于告诉浏览器,立即开始下载脚本,一旦下载完成,就立即执行。这通常用于在不阻塞页面加载的情况下执行脚本。

以下是一些使用 deferasync 的代码示例:

  1. 使用 defer
<!DOCTYPE html>
<html>
<head>
  <title>Defer Example</title>
  <script defer src="script1.js"></script>
  <script defer src="script2.js"></script>
</head>
<body>
  <h1>Defer Example</h1>
</body>
</html>

在这个示例中,script1.jsscript2.js 会在 DOM 加载完成后按照顺序执行。

  1. 使用 async
<!DOCTYPE html>
<html>
<head>
  <title>Async Example</title>
  <script async src="script1.js"></script>
  <script async src="script2.js"></script>
</head>
<body>
  <h1>Async Example</h1>
</body>
</html>

在这个示例中,script1.jsscript2.js 会在加载的同时执行,可能会导致执行顺序与顺序不一致。

注意:这些示例仅用于演示 deferasync 的基本用法。在实际项目中,你可能需要根据具体需求和场景选择使用哪种方式。

2️⃣ defer和async的使用场景

  • 在需要在不影响页面加载的情况下执行脚本时,可以使用defer关键字。
  • 在需要在不阻塞页面加载的情况下执行脚本时,可以使用async关键字。

3️⃣ defer和async的工作原理

  • defer:当使用defer关键字时,浏览器会在整个页面加载完成后执行脚本。这意味着脚本将在页面加载完成后执行,但不会影响页面的加载。
  • async:当使用async关键字时,浏览器会立即开始下载脚本。一旦下载完成,就会立即执行脚本。这意味着脚本将异步执行,不会阻塞页面加载。

4️⃣ defer和async的优缺点

  • 优点:defer和async都可以实现异步执行,提高页面加载速度和响应性。
  • 缺点:async可能会导致脚本执行不按预期顺序进行,需要特别注意。

deferasync 都是 HTML 中的属性,用于控制脚本的加载和执行。它们有以下区别:

  1. 加载和执行顺序:defer 会将脚本的加载延迟到 DOM 加载完成后,然后按照顺序执行;async 则是在加载的同时执行,可能会导致脚本执行顺序与顺序不一致。

  2. 适用场景:defer 适用于需要按照顺序执行的脚本,例如一些依赖于 DOM 的脚本;async 适用于不依赖于 DOM 的脚本,例如一些需要异步执行的脚本。

  3. 兼容性:defer 在 IE 4.x 到 IE 9.x 中都支持,但在其他浏览器中可能不受支持;async 在所有现代浏览器中都被支持。

  4. 性能:async 在加载和执行脚本时可能会比 defer 更快,因为它不需要等待 DOM 加载完成。但是,如果脚本依赖于 DOM,那么 defer 可能会比 async 更快。

总结:deferasync 各有优缺点,具体使用哪种方式取决于具体的应用场景和需求。在现代浏览器中,推荐使用 async,因为它具有更好的兼容性和性能。

总结:

🎉 defer和async是JavaScript异步编程的关键概念,它们可以帮助我们实现更高效、灵活的异步操作。通过了解defer和async的概念、使用场景和工作原理,我们可以更好地利用它们提高页面加载速度和响应性。文章来源地址https://www.toymoban.com/news/detail-842934.html

参考资料:

  • defer和async基础教程
  • defer和async在现代Web开发中的应用
  • defer和async的最佳实践

到了这里,关于defer 和 async:JavaScript异步编程的利器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JavaScript 异步编程解决方案-中篇

    1.Promise 构造函数:new Promise(executor) Promise() 只能通过 new 运算符来构造。如果尝试在没有使用 new 的情况下调用它,会抛出 TypeError 异常。 1.executor 执行器函数:(resolve,reject)={} 2.resolve 函数:内部定义成功时候调用values={} 3.reject 函数:内部定义失败时候调用error={} 备注:e

    2024年01月23日
    浏览(46)
  • [javascript核心-04]彻底弄懂Promise异步编程

    本文github地址:JavaScript_Interview_Everything 大前端知识体系与面试宝典,从前端到后端,全栈工程师,成为六边形战士 1.1. 快速上手 01快手上手.js 02.若传入的是另一个promise对象,则状态由传入的promise对象决定 03.若传入了一个实现了 then 方法的对象,则执行该then方法且由此方法

    2024年02月08日
    浏览(40)
  • Web APIs JavaScript执行机制与异步编程模型

    探索JavaScript的执行机制,包括同步与异步任务的处理方式,以及常见的事件循环机制,助您更深入理解JavaScript编程模型。

    2024年02月21日
    浏览(39)
  • JavaScript编程技巧:将异步方法转换为同步执行的实用方法

    当在JavaScript中处理异步操作时,我们通常会使用 async/await 来简化异步代码的编写和理解。然而,有时候我们可能需要将异步方法转换为同步执行的方法,以满足特定的需求。在本篇博客中,我们将详细讨论如何将异步方法转换为同步执行的方法。 异步方法的主要特点是非阻

    2024年02月08日
    浏览(48)
  • promise及异步编程async await

    ECMAScript 6 新增了正式的 Promise(期约)引用类型,支持优雅地定义和组织异步逻辑。接下来几个版本增加了使用 async 和 await 定义异步函数的机制 JavaScript 是单线程事件循环模型。异步行为是为了优化因计算量大而时间长的操作,只要你不想为等待某个异步操作而阻塞

    2024年02月04日
    浏览(42)
  • JavaScript:深入探索async/await的使用

    在JavaScript的异步编程领域,ES8引入的 async/await 语法是一项重要的创新。它让异步代码看起来更像同步代码,使得处理异步操作变得更加清晰和简洁。本文将深入探索 async/await 的使用,帮助你充分发挥这项技术的优势。 1. 什么是 async/await ?   async/await 是一种基于Promise的异步

    2024年02月13日
    浏览(39)
  • 异步编程的概念 以及async和await的工作原理

    一、引言 二、异步编程的基本概念 三、基于任务的异步模式(TAP) 四、async和await async的工作原理: await的工作原理: 五、异步方法的编写和调用 六、异常处理 七、取消异步操作 八、性能考虑 九、案例:异步下载文件 十、结论 在.NET中,异步编程是一

    2024年04月16日
    浏览(43)
  • 前端面试:【异步编程】Callback、Promise和Async/Await

    嗨,亲爱的JavaScript探险家!在JavaScript开发的旅程中,你会经常遇到异步编程的需求。为了处理异步操作,JavaScript提供了多种机制,包括Callbacks、Promises和Async/Await。本文将深入介绍这些机制,让你能够更好地处理异步任务。 1. Callbacks:传统的异步方式 Callbacks是JavaScript中最早

    2024年02月11日
    浏览(84)
  • 前端异步编程全套:xmlhttprequest > ajax > promise > async/await

    同步与异步区别 同步:按顺序,依次执行,向服务器发送请求--客户端做其他操作 异步:分别执行,向服务器发送请求==同时执行其他操作 原生xmlhttprequest 四步骤 创建ajax对象 设定数据的传输方式(get、post),打开连接open() 获得响应数据 属性 描述 onreadystatechange 当readysta

    2024年02月01日
    浏览(71)
  • JavaScript中如何通过 new Function 创建 async 函数

    我喜欢的一点是,有很多方法可以完成相同的任务,其中一个例子就是创建函数。函数有几种模式;您看到的最后使用的模式之一是  new Function  方法: 如果您想使用此  new Function  方法创建一个异步函数,该怎么办?你需要聪明一点,多亏了MDN,我们有了答案: `Object.ge

    2024年02月13日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包