document.ready和onload的区别为:加载程度bai不同du、执行次数不同、执行速度zhi不同。

一、加载程度不同

1.document.ready:在DOM加载完成dao后就可以可以对DOM进行操作。一般情况一个页面响应加载的顺序是,域名解析-加载html-加载js和css-加载图片等其他信息。那么Dom Ready应该在“加载js和css”和“加载图片等其他信息”之间,就可以操作Dom了。

2.onload:在document文档加载完成后就可以可以对DOM进行操作,document文档包括了加载图片等其他信息。那么Dom Load就是在页面响应加载的顺序中的“加载图片等其他信息”之后,就可以操作Dom了。

二、执行次数不同

1.document.ready:document.ready可以写多个.ready,可以执行多次,第N次都不会被上一次覆盖。

2.onload:onload只能执行一次,如果有多个,那么第一次的执行会被覆盖。

三、执行速度不同

1.document.ready:onload除了要等待DOM被创建还要等到包括大型图片、音频、视频在内的所有外部资源都完全加载。如果加载图片和媒体内容花费了大量时间,用户就会感受到定义在onload事件上的代码在执行时有明显的延迟。

2.onload:document.ready函数只需对 DOM 树的等待,而无需对图像或外部资源加载的等待,从而执行起来更快。

本面试题为前端常考面试题,后续有机会继续完善。我是歌谣,一个沉迷于故事的讲述者。

欢迎一起私信交流。

“睡服“面试官系列之各系列目录汇总(建议学习收藏)

“约见”面试官系列之常见面试题之第六十九篇之document.ready和onload的区别(建议收藏)相关推荐

  1. “约见”面试官系列之常见面试题之第六十二篇之IE和兼容下写法(建议收藏)

    1)获取事件对象:var ev = ev || window.event 2)获取页面的可视区的宽度:document.documentElement.clientWidth || document. ...

  2. “约见”面试官系列之常见面试题之第八十八篇之什么是vue生命周期(建议收藏)

    我们知道vue是一个构建数据驱动的 web 界面的渐进式框架,那么vue生命周期是什么呢?本篇文章就给大家来介绍一下vue生命周期的内容,希望可以帮助到有需要的朋友. vue生命周期是什么? Vue生 ...

  3. “约见”面试官系列之常见面试题之第五十二篇之标准模式和怪异模式(建议收藏)

    在标准模式页面按照HTML,CSS的定义渲染,而在怪异模式就是浏览器为了兼容很早之前针对旧版本浏览器设计,并未严格遵循W3C标准而产生的一种页面渲染模式.浏览器基于页面中文件类型描述的存在以决定采用哪 ...

  4. “约见”面试官系列之常见面试题之第八十九篇之vue生命周期作用(建议收藏)

    那么vue 生命周期有哪些阶段呢 一.创建 1.beforeCreate:这个阶段实例已经初始化,只是数据观察与事件机制尚未形成,不能获取DOM节点(没有data,没有el) 使用场景:因为此时dat ...

  5. “约见”面试官系列之常见面试题之第七十九篇之ES5和ES6(建议收藏)

    什么是JavaScript JavaScript一种动态类型.弱类型.基于原型的客户端脚本语言,用来给HTML网页增加动态功能.(好吧,概念什么最讨厌了) 动态: 在运行时确定数据类型.变量使用之前不 ...

  6. “约见”面试官系列之常见面试题之第六十八篇之本地对象 内置对象 宿主对象(建议收藏)

    首先解释下宿主环境:一般宿主环境由外壳程序创建与维护,只要能提供js引擎执行的环境都可称之为外壳程序.如:web浏览器,一些桌面应用系统等.即由web浏览器或是这些桌面应用系统早就的环境即宿主环境. ...

  7. “约见”面试官系列之常见面试题之第六十五篇之ajax如何解析jsonp(建议收藏)

    json是一种轻量级交互格式,本质上都是字符串,常用于前后端的数据交互,本质上就是字符串. 前端解析后端数据 前端在解析后端发来的数据,使用JSON.parse()方法把字符串转为json对象. 前端 ...

  8. “约见”面试官系列之常见面试题之第六十四篇之call和apply区别(建议收藏)

    call和apply用来调用函数,并用指定对象(第一个参数)替换函数的 this 值,同时用指定数组替换函数的参数.注:也可以不指定参数,此时只是单纯的调用函数,如:fun.call() 语法: fu ...

  9. “约见”面试官系列之常见面试题之第五十九篇之js中push(),pop(),unshift(),shift()的用法小结 (建议收藏)

    1.push().pop()和unshift().shift() 这两组同为对数组的操作,并且会改变数组的本身的长度及内容. 不同的是 push().pop() 是从数组的尾部进行增减,unshift ...

最新文章

  1. Asp.net中的HttpModule和HttpHandler的简单用法
  2. 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn
  3. Jenkins学习之旅
  4. JQuery 实战第三讲:绚丽菜单
  5. 搭建java web框架_基于springboot搭建的web系统架构的方法步骤
  6. Shell笔记5——函数的知识与实践
  7. HTML做一个简单的页面(纯html代码)地球专题学习网站
  8. LINUX中OFFICE WORD无法输入中文的解决办法
  9. 【TensorFlow】使用slim从ckpt里导出指定层的参数
  10. 9.目标检测基础、图像风格迁移
  11. [NOIP模拟赛]棋子游戏
  12. Matlab 如何截取视频中的每一帧图像
  13. 【IT微小说】CISO琳达的一天
  14. 宋宝华:Linux设备与驱动的手动解绑与手动绑定
  15. 520表白攻略 程序员必要的相亲准备 最近你相亲表白了嘛
  16. 每日一题-Acwing2058笨拙的手指-位运算-枚举
  17. html制作一个动态仪表盘,用Excel做一个动态仪表盘,会这个绝对是大神
  18. Transaction silently rolled back because it has been marked as rollback-only
  19. Ubuntu系统下安装ZEC币服务
  20. 最大公约数、最小公倍数

热门文章

  1. (转)在Eclipse中用TODO标签管理任务(Task)
  2. 裸眼3D全攻略3:拍摄3D—瞳距、镜距、视角偏转与空间感
  3. 6面向对象的程序设计
  4. iOS统计项目的代码总行数
  5. 很好的理解遗传算法的样例
  6. SPOJ MYQ10 (数位DP)
  7. php查询车位系统代码,php车辆违章查询数据示例
  8. java程序 构建mycircle类_Java语言程序设计(十九)对象和类的应用实例
  9. mybatis 多租户saas_彻底理解微商城多租户Saas架构设计
  10. MSP430F5529 DriverLib 库函数I2C驱动OLED屏幕