我如果把debounce函数去掉的话也是可以执行的?debounce函数在这里起了什么作用?
其中的变量immediate和timeout起到了什么作用,最好能通俗的解释下这个函数执行过程
function debounce(func, wait = 20, immediate = true) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if (!immediate) func.apply(context, args); }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) func.apply(context, args); }; };
慕工程0101907
相关分类