防抖节流

function throttle(fn,time) {

    let last;

    return function() {

        let now = Date.now();

        if (!last) {

            fn.apply(this,arguments);

            last = now;

            return;

        }

        if(now - last >= time) {

            fn.apply(this,arguments);

            last = now;

        }

    }

}

// m = throttle(b,1000)

// m(1)

// m(2)

// m(3)

// setTimeout(function(){m(4)},1000)

function debounce(fn,time) {

    let timer

    return function() {

        let args = arguments;

        if(timer) {

            clearTimeout(timer);

            timer = null

        }

        setTimeout(function() {

            fn.apply(this,args)

            timer = null;

        },time)

    }

}

你可能感兴趣的:(防抖节流)