JavaScript 防抖和节流
方法一:使用lodash库的debounce方法
方法二:手写防抖函数
function debounce(fn,t){// 1.声明一个定时器变量 因为需要多次赋值 使用let声明let timer // 返回一个匿名函数return function(){if(timer){// 如果定时器存在清除之前的定时器 clearTimeout(timer)}// 如果没开定时器开定时器timer = setTimeout(function(){fn()},t)}}
节流
手写节流函数
实现单位时间段中代码只能执行一次
手写节流函数
function throttle(fn,t){let timer = nullreturn function(){if(!timer){timer = setTimeout(function(){fn()timer = null },t)}}}