我构建了一个 JavaScript debounce 函数,如果这是正确的方法,我需要 JavaScript 专家的意见,如果不是,那么当前函数的缺陷是什么。提前感谢您的意见,这将有助于我学习。
var debounce = function(inpFun, wait) {
var timeout;
return function () {
if(!timeout) {
inpFun.apply(this, arguments);
timeout = setTimeout(function() {
timeout = undefined;
}, wait);
}
else {
console.log("Debouncing");
}
}
};
var buttonClickFunction = debounce(function (event) {
console.log("Button Clicked");
console.log(event.target.id);
}, 2000);
document.querySelector("#button1").addEventListener("click", buttonClickFunction);
<button id="button1">Button</button>