function debounce(fn, delta, context) {
var timeoutID = null;
return function() {
if(timeoutID) {
clearTimeout(timeoutID);
console.log(timeoutID);
}
var args = arguments;
timeoutID = setTimeout(function() {
fn.apply(context, args);
}, delta);
}
}
function D() {
document.body.innerHTML += 'D<br>'
}
window.addEventListener('click', debounce(D, 1000));
你看到的那个数字是变量
timeoutID
的值,它是由setTimeout
函数返回的,它的值是一个数字。它代表一个定时器的 id ,每次点击后这个值会变化。例如在 Chrome 浏览器中,第一次点击后它的值是 1, 第二次点击后是 2,以此类推。它只代表定时器的 id,不代表定时器是否已经已经完成或者被取消。