JavaScript 防抖与节流
背景防抖和节流是前端开发中常用的两种技术,用于解决事件处理和资源请求等方面的性能问题。在前端开发中,由于事件和资源的处理需要时间,因此防抖和节流可以有效地减少不必要的并发和处理时间,提高页面性能和响应速度。举个例子,滚动事件的触发频率是很高的,假如你想在滚动时执行一个函数,防抖和节流可以控制函数触发的频率,可以极大的提高页面性能和响应速度。
什么是防抖(debounce) ?防抖是一种事件处理技术,用于限制事件处理程序的执行次数,它通过在事件触发后延迟执行事件处理程序,以避免重复执行。防抖常常用于处理频繁触发的事件,例如点击、滚动等。(这句话不够准确,请继续往下看)
想象一下你在电梯里,电梯正好要关门了,突然又有一个人过来,电梯再次打开门等待人上电梯,电梯并不会立马关门换层,而是延迟了它的功能(在楼层之间移动),但优化了资源
自己试试吧。在按钮上方单击或移动鼠标:
See the Pen
Debounce. Trailing by Corbacho (@dcorb)
on CodePen.
你可能会发现鼠标一直在点击或者移动的话,目标事件就不会触发,因为它一直在延 ...
Hello World
Welcome to
Quick StartCreate a new post$ hexo new "My New Post"
More info: Writing
Run server$ hexo server
More info: Server
Generate static files$ hexo generate
More info: Generating
Deploy to remote sites$ hexo deploy
More info: Deployment