防抖,节流函数

1:防抖函数

    主要是,当连续触发函数时,上一次的函数不会执行,利用setTimeout定时器来处理

    // 防抖,就是连续触发,只触发最后一次

        function debunce(fn, delay) {

            var timer;

            return function() {

                // 每次进来,清除一次定时器

                clearTimeout(timer);

                timer = setTimeout(fn, delay);

            }

        }


2:节流函数


        // 节流,就是连续触发时,只定时执行

        function thread(fn, delay) {

            var timer;

            return function() {

                // 如果存在timer则不做任何处理

                if (timer) {

                    return

                } else {

                    timer  = setTimeout(function(){

                        fn()

                        timer = null;

                    }, delay);

                }

            }

        }

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