龙空技术网

教你两招js操作解决DOM操作、资源加载等耗费性能问题的处理!

Cool码 50

前言:

目前各位老铁们对“js页面卡顿”都比较关心,你们都需要知道一些“js页面卡顿”的相关知识。那么小编同时在网摘上汇集了一些对于“js页面卡顿””的相关文章,希望大家能喜欢,咱们一起来了解一下吧!

前言

在前端开发中有一部分的用户行为会频繁的触发事件执行,而对于DOM操作、资源加载等耗费性能的处理,很可能导致界面卡顿,甚至浏览器的崩溃。函数节流(throttle)和函数防抖(debounce)就是为了解决类似需求应运而生的。

函数节流(throttle)

函数节流就是预定一个函数只有在大于等于执行周期时才执行,周期内调用不执行。好像水滴攒到一定重量才会落下一样。

场景:

窗口调整(resize)

页面滚动(scroll)

抢购疯狂点击(mousedown)

实现:

underscore实现:

函数防抖(debounce)

函数防抖就是在函数需要频繁触发情况时,只有足够空闲的时间,才执行一次。好像公交司机会等人都上车后才出站一样。

场景:

实时搜索(keyup)

拖拽(mousemove)

实现:

underscore实现:

总结

函数节流(throttle)和函数防抖(debounce)都是通过延时逻辑操作来提升性能的方法,在前端优化中是常见且重要的解决方式。可以从概念和实际应用中理解两者的区别,在需要的时候选择合适的方法处理。

标签: #js页面卡顿