18.函数节流与函数防抖

2020-01-20  本文已影响0人  最爱喝龙井

函数节流:能够多次触发的操作,影响性能,通过定时器在一段时间内只能执行一次,比如,页面缩放的时候

// 函数的节流
        function throttle(fn, interval) {
            var canRun = true;
            return function() {
                var _this = this;
                if(!canRun) {
                    return
                }
                canRun = false;
                setTimeout(function() {
                    fn.apply(_this, arguments)
                    canRun = true;
                }, interval || 500);
            }
        }

       

函数防抖:同函数节流很像,也是一段时间之内只能执行一次,比如,表单验证的时候

 // 函数防抖
        function debounce(fn, interval) {
            var timer = null;
            return function() {
                clearTimeout(timer);
                timer = setTimeout(() => {  
                    fn.apply(this, arguments)
                }, interval || 500)
            }
        }
上一篇下一篇

猜你喜欢

热点阅读