有人可以解释Javascript中的“去抖动”功能
我对javascript中的“debouncing”函数很感兴趣,这里写的:http://davidwalsh.name/javascript-debounce-function
不幸的是,代码没有清楚地解释清楚,以便我理解。任何人都可以帮我弄清楚它是如何工作的(我在下面留下了我的评论)。总之,我真的不明白这是如何工作的
// Returns a function, that, as long as it continues to be invoked, will not // be triggered. The function will be called after it stops being called for // N milliseconds.function debounce(func, wait, immediate) { 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); };};
编辑:复制的代码片段之前有callNow
错误的位置。
缥缈止盈
白猪掌柜的
杨__羊羊
相关分类