/* *函数节流(throttle):函数在一段时间内屡次触发只会执行第一次, *在这段时间结束前,无论触发多少次也不会执行函数。 */ throttle(fn, gapTime) { if (gapTime == null || gapTime == undefined) { gapTime = 1500 } let _lastTime = null; // 返回新的函数 return function () { let _nowTime = +new Date() if (_nowTime - _lastTime > gapTime || !_lastTime) { fn.apply(this, arguments) //将this和参数传给原函数 _lastTime = _nowTime } } }
使用:javascript
throttle(()=>{ console.info('一秒内,屡次调用只执行一次'); },1000)