关于return function()的一点疑问

function debounce(func, wait) {

    var timeout;

    return function () {

        clearTimeout(timeout)

        timeout = setTimeout(func, wait);

    }

}

debounce函数里为什么要加return function(){ } ? 去掉会怎样?


梵蒂冈之花
浏览 513回答 1
1回答

哔哔one

debounce本来就要返一个包裹函数,你以后的每次调用,其实调用的都是包裹函数,并不是原函数function fetchData(){    //some code}//debounceFetchData并不是fetchData,而是返回的一个匿名函数,里面包裹了原函数:fetchDatavar debounceFetchData=debounce(fetchData,1000);//每一次调用都会生成一个定时器//如果上一次的定时器还没有执行,则会被清除//如此就达到了防抖动的目的debouceFetchData();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript