js防抖和节流

防抖和节流的作⽤都是防⽌函数多次调⽤。防抖动是将多次执⾏变为最后⼀次执⾏,节流 是将多次执⾏变成每隔⼀段时间执⾏。假设⼀个⽤户⼀直触发这个函 数,且每次触发函数的间隔⼩于 wait ,防抖的情况下只会调⽤⼀次,⽽节流的 情况会每 隔⼀定时间(参数 wait )调⽤函数

防抖

function debounce(wait, fun) {
                var timer = null;
                return function () {
                    if (timer) {
                        clearTimeout(timer)
                    }
                    timer = setTimeout(() => { fun() }, wait)
                }

            }

节流

function throttle(wait, fun) {
                var valid = true;
                return function () {
                    if (valid) {
                        valid = false;
                        setTimeout(() => { valid = true }, wait);
                        fun()
                    }
                }
            }
posted @ 2021-03-27 16:28  neo_o  阅读(58)  评论(0编辑  收藏  举报

愿你的生活只有诗和远方