防抖节流函数

    function _debounce(fn, delay) {
            var delay = delay || 200;
            var timer;
            return function() {
                var th = this;
                var args = arguments;
                if (timer) {
                    clearTimeout(timer);
                }
                timer = setTimeout(function() {
                    timer = null;
                    fn.apply(th, args);
                }, delay);
            };
        }
        function _throttle(fn, interval) {
            var last;
            var timer;
            var interval = interval || 200;
            return function() {
                var th = this;
                var args = arguments;
                var now = +new Date();
                if (last && now - last < interval) {
                    clearTimeout(timer);
                    timer = setTimeout(function() {
                        last = now;
                        fn.apply(th, args);
                    }, interval);
                } else {
                    last = now;
                    fn.apply(th, args);
                }
            };
        }
原文地址:https://www.cnblogs.com/chengjunL/p/14610355.html