物流大超市

 找回密码
 注册
查看: 411|回复: 0
打印 上一主题 下一主题

新闻前端开发如何现 Debounce 和 Throttle

[复制链接]
跳转到指定楼层
1#
kaixun 发表于 2023-2-23 09:57:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

在JS中,每当我们向事件侦听器附加高性能函数时,控制函数调用频率被认为是比较佳践。采集工具的相关问题可以到网站了解下,我们是业内领域专业的平台,您如果有需要可以咨询,相信可以帮到您,值得您的信赖!






一切都与性能有关





在构建页时,性能是一个主要问题,特别是对于执行动画和交互的。事件侦听器是现与JS交互的常见选择,因为它们用于检测页面上的更改并根据这些更改调用函数。确保事件侦听器脚本针对性能进行了化非常重要。





事件监听器如何影响性能





让我们看看根据用户操作调用事件侦听器的频率。在下面的中执行相应的事件来查看计数:事件侦听器会根据它们调用的事件影响性能。







假设我们有一个负责向DOM添加新元素的函数,并且每次用户滚动时我们都会调用这个函数。正如我们在演示中看到的,可以为用户滚动屏幕的每个像素调用滚动事件侦听器。





向DOM添加元素会导致重排,这是浏览器计算新元素位置的方式。重排以级联方式完成,因此更改一个元素的重排将导致所有后续元素的更改以及重新渲染文档的部分或全部。这些计算可能会影响用户速度并减慢您的页面速度。您可以在本文中阅读更多关于回流和重绘如何影响性能的信息。





每当我们将高性能函数附加到事件侦听器时,控制函数被调用的频率被认为是比较佳践。





D和T是通过控制事件被调用的频率来化脚本性能的两种方法。





去抖动与油门





和的主要区别在于在用户在特定时间内没有执行事件时调用一个函数,而当用户执行一个事件时,在指定的时间间隔调用一个函数事件。





例如,如果我们使用0毫秒(毫秒)的计时器对滚动函数进行去抖动,则该函数仅在用户在0毫秒内没有滚动时才被调用。如果我们用0毫秒的计时器限制滚动函数,则该函数在用户滚动时每0毫秒调用一次。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|物流大超市 ( 桂ICP备2025065447号 )

GMT+8, 2026-1-21 01:58 , Processed in 0.070556 second(s), 16 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表