物流大超市
标题:
新闻前端开发如何现 Debounce 和 Throttle
[打印本页]
作者:
kaixun
时间:
2023-2-23 09:57
标题:
新闻前端开发如何现 Debounce 和 Throttle
在JS中,每当我们向事件侦听器附加高性能函数时,控制函数调用频率被认为是比较佳践。
采集工具
的相关问题可以到网站了解下,我们是业内领域专业的平台,您如果有需要可以咨询,相信可以帮到您,值得您的信赖!
一切都与性能有关
在构建页时,性能是一个主要问题,特别是对于执行动画和交互的。事件侦听器是现与JS交互的常见选择,因为它们用于检测页面上的更改并根据这些更改调用函数。确保事件侦听器脚本针对性能进行了化非常重要。
事件监听器如何影响性能
让我们看看根据用户操作调用事件侦听器的频率。在下面的中执行相应的事件来查看计数:事件侦听器会根据它们调用的事件影响性能。
假设我们有一个负责向DOM添加新元素的函数,并且每次用户滚动时我们都会调用这个函数。正如我们在演示中看到的,可以为用户滚动屏幕的每个像素调用滚动事件侦听器。
向DOM添加元素会导致重排,这是浏览器计算新元素位置的方式。重排以级联方式完成,因此更改一个元素的重排将导致所有后续元素的更改以及重新渲染文档的部分或全部。这些计算可能会影响用户速度并减慢您的页面速度。您可以在本文中阅读更多关于回流和重绘如何影响性能的信息。
每当我们将高性能函数附加到事件侦听器时,控制函数被调用的频率被认为是比较佳践。
D和T是通过控制事件被调用的频率来化脚本性能的两种方法。
去抖动与油门
和的主要区别在于在用户在特定时间内没有执行事件时调用一个函数,而当用户执行一个事件时,在指定的时间间隔调用一个函数事件。
例如,如果我们使用0毫秒(毫秒)的计时器对滚动函数进行去抖动,则该函数仅在用户在0毫秒内没有滚动时才被调用。如果我们用0毫秒的计时器限制滚动函数,则该函数在用户滚动时每0毫秒调用一次。
欢迎光临 物流大超市 (https://www.9999956.com/bbs/)
Powered by Discuz! X3.2