2011-09-07 90 views
0

我想减少的情况下,执行时间 的数字,所以我写了这样的事情:有人可以帮我解决一个小的JavaScript setTimeout问题吗?

var slow=function(method,context){ 
    method.id&&clearTimeout(method.id) 
    method.id = setTimeout(function(){ 
     method.apply(context,arguments) 
    }, 500) 
} 

window.onload=function(){ 
    function print(){ console.log("thanks a lot") } 
    document.body.addEventListener("mousemove",function(){ 
     slow(print) 
    }, false) 
} 

如果我操之过急在身上,和打印功能将不会被执行立即,但它似乎并没有工作 有人可以帮忙吗?非常感谢!

+1

打印功能是做什么的? JavaScript是单线程的 - 如果打印需要一段时间,在下一个之前(对于随后的鼠标移动)会触发 – Matt

回答

0

第一眼看上去,你have'nt提供的上下文参数调用慢

+0

参数在JavaScript中是可选的。如果没有指定它,它只是'未定义',并且使用上下文为未定义的method.apply(context,arguments)意味着上下文将是'window'对象。 – Matt

相关问题