2012-06-29 65 views
1

This SO answer用四个参数拨打setTimeoutsetTimeout有多少个参数?

setTimeout(self.process1, 0, self, u); 

这使我困惑。 documentation我见过的setTimeout只使用两个参数,而不是四个。

最后两个参数做了什么?

+0

哈哈...他打电话给w3schools文章作为文档!见http://www.w3fools.com –

+0

呵呵...我在大学(15年前)向我推荐了w3schools。我一直认为他们与W3C有关,并认为他们是有信誉的。感谢w3fools.com链接! –

回答

3

引述documentation on MDN

语法

var timeoutID = window.setTimeout(func, delay, [param1, param2, ...]); 

注意,通过附加参数传递给函数在第一 语法并不在Internet Explorer中运行。

+0

啊,谢谢。我是Javascript新手,并没有想过检查MDN。非常感激。 –

2

这个函数有两个签名

var timeoutID = window.setTimeout(func, delay, [param1, param2, ...]); 
var timeoutID = window.setTimeout(code, delay); 

注意,通过附加参数传递给函数在第一语法并不在Internet Explorer中运行。在问候中MDN发现什么这些额外的参数是

注:

此前壁虎13(火狐13.0 /雷鸟13.0),蛤蚧通过了 额外的参数给回调例程,指示“实际的 迟到“的超时时间,以毫秒为单位。该非标准参数 不再通过。

所有浏览器都不支持第一个签名(超过两个参数),所以我个人的建议是避免它。