我在网上找到了以下代码,我正在尝试实现它以与调整大小事件侦听器一起使用,并且正在努力理解它的工作原理的复杂性。有人愿意把它分解成只有 3 个月的 JS/Jquery 经验的人会理解吗?关于我正在努力解决的问题的一些指针(这是大部分,但我将定义真正令人困惑的部分)“参数”或它的值已分配给的变量“args”在哪里定义?如何将“立即”传递给去抖动功能。等等等等
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);
};
};
var debounceHeightSet = debounce(function() {
numHeightset();
}, 250);