前端最重要的几个 Observer,缺一不可!

开发 前端
MutationObserver是 JavaScript 中用于监听DOM树变化的接口。它可以在 DOM 节点被添加、删除或修改时触发回调函数。与旧的 Mutation Events 相比,MutationObserver更加高效和灵活。

JavaScript 的 Observer 模式扮演着至关重要的角色。Observer模式允许开发者监听对象的变化,并在变化发生时自动执行相应的操作。这种机制在前端开发中尤为重要,尤其是在处理动态数据、用户交互和异步操作时

接下来盘点一下 JavaScript 中那些至关重要的 Observer

MutationObserver 监听DOM变化

MutationObserver是 JavaScript 中用于监听DOM树变化的接口。它可以在 DOM 节点被添加、删除或修改时触发回调函数。与旧的 Mutation Events 相比,MutationObserver更加高效和灵活。

使用场景

  • 动态加载内容时,监听新元素的插入。
  • 监听元素的属性变化,如class、style等。
  • 监听子节点的变化,如添加或删除子元素。

示例代码

图片图片

兼容性

图片图片

IntersectionObserver 监听元素可见性

IntersectionObserver用于监听目标元素与其祖先元素或视口的交叉状态。它可以帮助开发者判断元素是否进入或离开视口,从而实现懒加载、无限滚动等功能。

使用场景

  • 图片懒加载:当图片进入视口时再加载。
  • 无限滚动:监听列表底部元素,触发加载更多内容。
  • 广告曝光统计:统计广告元素的曝光次数。

示例代码

图片图片

兼容性

图片图片

ResizeObserver 监听元素尺寸变化

ResizeObserver用于监听元素尺寸的变化。与传统的 window.resize 事件不同,ResizeObserver可以精确监听单个元素的尺寸变化,而不受页面其他部分的影响。

使用场景

  • 响应式布局:根据元素尺寸动态调整布局。
  • 图表重绘:当容器尺寸变化时,重新绘制图表。
  • 自适应组件:根据父容器尺寸调整子组件大小。

示例代码

图片图片

兼容性

图片图片

PerformanceObserver 监听性能指标

PerformanceObserver 用于监听性能相关的指标,如资源加载时间、首次绘制时间等。它可以帮助开发者分析和优化页面性能。

使用场景

  • 监控页面加载性能。
  • 分析资源加载时间。
  • 监控长任务和用户交互延迟。

示例代码

图片图片

兼容性

图片图片

责任编辑:武晓燕 来源: 前端之神
相关推荐

2020-04-02 19:55:24

前端开发工具开发

2021-09-03 12:10:40

安全卡巴斯基

2013-07-29 13:24:35

CitrixMDM

2013-09-04 09:21:34

API开发API社区

2021-02-25 09:10:18

5G5G网络5G终端

2022-05-28 10:44:43

云成本云架构多云

2014-04-03 10:17:02

IDF2014贺尔友计算

2020-09-06 22:20:13

Prometheus监控平台容器

2021-03-05 13:52:40

CIOIT领导者首席信息官

2019-09-16 13:35:30

人工智能AI

2024-03-07 10:31:36

云工程师云架构师

2024-03-08 16:02:47

2021-03-16 09:40:06

手机APP应用程序安全

2021-07-26 08:01:35

数据资产智能化安全性

2021-10-21 05:27:18

人工智能AIGartner

2020-06-09 14:45:21

5GSub-6GHz毫米波

2015-11-04 12:02:46

桌面虚拟化

2017-07-13 10:52:36

个性化系统商业化

2018-04-08 16:03:16

2022-04-15 09:01:18

前端工具UTF8编码
点赞
收藏

51CTO技术栈公众号