logo头像

debounce弹跳函数介绍

debounce去弹跳函数 原lodash.debounce

debounce 强制函数再某段时间内只执行一次
throttle 强制函数以固定的频率触发的 DOM 事情的时候,他们都能极大提高用户体验.

dobounce 返回了一个闭包,这个闭包依然会被连续频繁地调用,但是在闭包内部,却限制了原始函数fn的执行,强制fn只在连续操作停止后只执行一次
大致核心代码如下:

1
2
3
4
5
6
7
8
9
10
11
function debounce(fun, delay) {
var timer;
return function() {
var content = this;
var args = arguments;
clearTimeout(timer);
timer = setTimeout(function() {
fun.apply(content, args);
}, delay)
}
}