JavaScript的同步加载和异步加载

在引入JavaScript脚本代码时,页面的下载和渲染都会暂停,等待脚本执行完成后才会继续这种加载方式称为“同步加载”。“同步加载”也称“阻塞模式”,它是JavaScript社代码默认的加载方式,之所以要同步加载,是因为]avaScript中可能有输出、修改等行为,所以默认同步执行才是安全的。

定同步加载”也有弊端。同步加载完毕之前,页面内容是无法正常显示的,这就给网站访问者带来不好的用户体验。因此在代码加载过程中,我们需要让那些负责页面内结构、样式的代码先加载,给用户呈现一个美观的界面效果,然后再加载后续的脚本代码,这时就需要用到“异步加载”。“异步加载”也称“非阻塞模式”,用于降低JavaScript阻塞问题对页面造成的影响,使用<script>标记属性async和defer都可以设置“异步加载”。下面将介绍这两种属性的使用方法。

1)async

添加async属性后,页面会先下载脚本文件,不阻塞结构代码、样式代码的执行,当脚本文件下载完成后再执行该脚本文件,示例代码如下:

<script src="http: //js.test/file.js" async></script>
2)defer

添加defer属性后,页面会先下载脚本文件,不阻塞结构代码、样式代码的执行,当页面效果加载完成之后,再执行脚本代码,示例代码如下:

<script src="http: //js.test/ile.js"defer></script>
值得一提的是,虽然async和defer于设置异步加载,但二者在脚本代码下载完成之后的执行方式有很大差别。添加async属性,当脚本代码下载完成之后会立即执行脚本代码:添加defer属性,会等页面效果加载完成之后再加载脚本代码。

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/90568.html

(0)
guozi's avatarguozi
上一篇 2024年6月5日 下午5:48
下一篇 2024年6月5日 下午5:50

相关推荐

  • 消息中间件对比分析:Kafka VS RabbitMQ

    引言\’\’ 消息中间件,以其高效且可靠的消息传递机制,使得平台间的数据交流变得无障碍。这种机制不仅为分布式系统的集成提供了坚实基础,还通过消息传递和消息排…

    2024年4月2日
    0
  • app订制研发,app订制开发

    6. 合适的团队结构:定制化应用需要专门的团队来完成开发工作。因此,在开始之前,请选择合适的团队:开发人员、UI 设计师、测试人员等。团队成员必须具备专业知识和丰富的经验,以确保应…

    行业资讯 2024年4月18日
    0
  • 怎么查询被屏蔽的网站,手机怎么看被屏蔽的网页

    如何在手机上查看被阻止的网站?这似乎是一项不可能的任务,因为网站被阻止时通常无法访问。您认为,有一种方法可以绕过此限制。如果您想了解哪些网站被屏蔽、为什么被屏蔽以及如何在手机上查看…

    行业资讯 2024年5月12日
    0
  • seo规范培训

    SEO规范培训,这是一个众所周知的名词,它代表着搜索引擎优化行业中的一项重要内容。但是,什么是SEO规范培训?为什么我们需要进行这样的培训?SEO规范培训的内容和目标又是什么?如何…

    行业资讯 2024年4月2日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注