1.阻塞加载:

平常默认使用的都是阻塞加载。例如:                                       

  阻塞加载会阻止浏览器的后续处理,停止了后续的文件的解析,执行,如图像的渲染。为了这样可以让页面先显示出来,我们通常会把要加载的js放到body结束标签之前,使得js可在页面最后加载,尽量减少阻塞页面的渲染。

2.延迟加载

延迟加载是脚本延迟到文档被完全解析和显示之后再执行。有些 js 代码并不是页面初始化的时候就立刻需要的,而稍后的某些情况才需要的,这个时候我们就可以通过延迟加载来执行这些不是立刻就需要的模块,就像图片的延迟加载,在图片出现在可视区域内时才加载显示图片。当页面有大量数据的时候使用延迟加载可以加快页面加载速率,给用户良好的体验。

3.异步加载

异步加载是立即下载js'脚本的同时又不妨碍页面中的其他操作。

延迟加载和异步加载的相同点和不同点

  延迟加载 异步加载
相同点 并发执行
只支持外部引入方式
不同点 多个js,按定义顺序执行 多个js,不一定按定义顺序执行
文档解析完才执行 加载完就找机会执行,在load事件之前
在DOMContentLoaded事件之前执行完 在load事件之前执行完

js的阻塞加载、延迟加载和异步加载相关推荐

  1. 异步加载场景与异步加载游戏资源

    异步加载场景与异步加载游戏资源 Application.LoadLevel 加载关卡 在同步加载游戏场景的时候通常会使用方法Application.LoadLevel 加载关卡. 该方法在执行完App ...

  2. 新手教程:不写JS,在MIP页中实现异步加载数据

    从需求谈起:在 MIP 页中异步加载数据 MIP(移动网页加速器) 的 加速原理 除了靠谱的 MIP-Cache CDN 加速外,最值得一提的就是组件系统.所有 JS 交互都需要使用 MIP 组件实现 ...

  3. php ztree异步加载数据格式,zTree异步加载简单demo

    这几天花了些时间,试了试zTree自带的异步加载方式 还不错. 有个奇怪的问题: 无论我在服务器设置 setContentType("text/plain;charset=UTF-8&quo ...

  4. lazy(懒加载)模式和异步加载模式详解

    说到懒加载,其实就是延迟会再加载,没有想象中的那么神秘,其实我们时刻都在用懒加载, 第一种:简单的延迟创建控件,比如说,创建一个属性变量,我们用get方法来获取生成这个变量就是用到了懒加载,详细点说就 ...

  5. android webview 图片异步加载,Webview 图片异步加载及bug解决

    在项目中新闻显示需要使用图片的异步加载,并且在加载图片前和加载图片失败时显示默认图片. 关于webview中图片的异步加载的思路如下: 方案一:由前端同学全权负责(使用js实现异步加载) 方案二:an ...

  6. android图片异步加载图片,Android 异步加载图片分析总结

    研究了android从网络上异步加载图像,现总结如下: (1)由于android UI更新支持单一线程原则,所以从网络上取数据并更新到界面上,为了不阻塞主线程首先可能会想到以下方法. 在主线程中new ...

  7. ios html异步加载图片,iOS 异步加载本地图片

    iOS 异步加载本地图片 问题 当某个界面使用系统API + (nullable UIImage *)imageNamed:(NSString *)name;加载了过多本地图片资源时,不可避免的会产生 ...

  8. html异步加载图片,javascript-img异步加载图片

    在开发中,我们经常有异步加载图片的请求,然后在图片加载成功后做一些操作,一般我们通过onload方法来实现.网上有两种写法,大家可以先看一下(注:logo.jpg是张本地图片): 例子1: var i ...

  9. js html异步加载的属性,异步加载JS的五种方式

    方案一: 点评:HTML5中新增的属性,Chrome.FF.IE9&IE9+均支持(IE6~8不支持).此外,这种方法不能保证脚本按顺序执行. 方案二: 点评:兼容所有浏览器.此外,这种方法可 ...

最新文章

  1. git ingore添加忽略文件无较的解决方法
  2. 第十四周项目二-两个成员的类模版(1)
  3. 05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令
  4. jquery简单原则器(匹配索引为指定值的元素)
  5. 天池 在线编程 有效的字符串
  6. python中 yield 的用法详解——最简单,最清晰的解释(排序节省内存消耗)
  7. 架构设计工作笔记001---智慧城市项目架构设计中应该注意的问题
  8. 3d激光雷达开发(voxel滤波)
  9. angular 居中_Angular Material design设计
  10. 关于Net Core 多平台程序的Framework问题
  11. 【项目管理一点通】(13) 如何写周报和日报
  12. 计算机成绩数字代表什么意思,注册电气工程师成绩的数字具体代表着什么意思...
  13. 【C语言】指针的算术运算
  14. 韩语在线翻译图片识别_最强文字识别APP
  15. 摄影培训社培训资料(上
  16. thinkphp6+vue前后端分离开发验证码总是验证不正确问题
  17. Runtime在项目中的使用场景
  18. 【Scala】Scala中的模式匹配、类型参数与隐式转换
  19. outlook 签名_Outlook 2007中的电子邮件签名礼节-适当的Flair
  20. 老版本微信平台服务器部署步骤(没那么坑版)

热门文章

  1. GAMES101复习:光栅化
  2. android 仿苹果 小组件,仿ios14桌面小部件
  3. 翼方健数CEO罗震——推动区域级数据互联互通的先行者
  4. python 连接hive_《go语言从入门到入坟》Go 操作 数据库、Redis、HDFS
  5. 6.英文学习-初级语法
  6. PL/pgSQL之入门
  7. 人生旅程需要自己去把握
  8. 巧用 Docker Buildx 构建多种系统架构镜像
  9. 那些百万年薪的算法工程师,都是经历了哪些九死一生?
  10. 解决宝塔面板Nginx反向代理Cloudflare出现502或403错误