手写实现防抖debounce方法

防抖原理:等用户触发完事件 n 秒内不再触发事件的时候才去执行。

1
2
3
4
5
6
7
8
9
10
11
12
13
function debounce(func, wait) {
var timeout;

return function () {
var context = this;
var args = arguments;

clearTimeout(timeout)
timeout = setTimeout(function(){
func.apply(context, args)
}, wait);
}
}