js 函数节流(throttle)

/*
     *函数节流(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)
相关文章
相关标签/搜索