function debounce(func, wait) { var timeout; return function () { clearTimeout(timeout) timeout = setTimeout(func, wait); }}debounce函数里为什么要加return function(){ } ? 去掉会怎样?
1 回答
哔哔one
TA贡献1854条经验 获得超8个赞
debounce本来就要返一个包裹函数,你以后的每次调用,其实调用的都是包裹函数,并不是原函数
function fetchData(){
//some code
}
//debounceFetchData并不是fetchData,而是返回的一个匿名函数,里面包裹了原函数:fetchData
var debounceFetchData=debounce(fetchData,1000);
//每一次调用都会生成一个定时器
//如果上一次的定时器还没有执行,则会被清除
//如此就达到了防抖动的目的
debouceFetchData();
添加回答
举报
0/150
提交
取消
