Blogger Information
Blog 47
fans 0
comment 2
visits 102669
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Vue防抖与节流的最佳解决方案
拾一枝樱花的博客
Original
1386 people have browsed it

什么是防抖节流

防抖:防止重复点击触发事件防抖
  1. 首先啥是抖? 抖就是一哆嗦!原本点一下,现在点了3下!不知道老铁脑子是不是很有画面感!哈哈哈哈哈哈
  2. 典型应用就是防止用户多次重复点击请求数据。
  3. 代码实现要点:设置一个定时器,通过闭包,抓住定时器变量,控制定时器的添加和清除
  4. 直接上代码
  5. function debounce(fn, time) {
  6. let _arguments = arguments
  7. let timeout = null
  8. return function () {
  9. if (timeout) {
  10. clearTimeout(timeout)
  11. }
  12. timeout = setTimeout(() => {
  13. fn.call(this, _arguments)
  14. }, time);
  15. }
  16. }
节流:指定时间间隔内只会执行一次任务
  1. 大家都玩过FPS游戏吧(没玩过???打枪知道了吧!)道具的射速是一定的,不会因为你点击鼠标的速度加快而增加。
  2. 代码实现要点:通过一个布尔变量作为状态,判断代码是否需要执行
  3. 直接上代码
  4. function throttle(fn, time) {
  5. let _arguments = arguments
  6. let canRun = true
  7. return function () {
  8. if (!canRun) return
  9. canRun = false
  10. setTimeout(() => {
  11. fn.call(this, _arguments)
  12. canRun = true
  13. }, time);
  14. }
  15. }
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post