为了账号安全,请及时绑定邮箱和手机立即绑定

问一个关于闭包中的setTimeout的问题

问一个关于闭包中的setTimeout的问题

翻翻过去那场雪 2018-08-28 09:26:15
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));
查看完整描述

1 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

你看到的那个数字是变量 timeoutID 的值,它是由 setTimeout 函数返回的,它的值是一个数字。它代表一个定时器的 id ,每次点击后这个值会变化。例如在 Chrome 浏览器中,第一次点击后它的值是 1, 第二次点击后是 2,以此类推。

它只代表定时器的 id,不代表定时器是否已经已经完成或者被取消。


查看完整回答
反对 回复 2018-10-28
  • 1 回答
  • 0 关注
  • 490 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号