首页 > setTimeout中第二个参数是选填还是必填?

setTimeout中第二个参数是选填还是必填?

首先是MDN上【https://developer.mozilla.org/en-US/docs...】


然后是W3C说【http://www.w3school.com.cn/jsref/met_win...】


之前也有看过一篇文章【http://tangguangyao.github.io/2015/11/10...】

现在比较迷惑,第二个参数现在规范是怎么样?填与不填有什么区别,有一些人说没有填就相当于0,有一些人却说不是。希望有个比较权威的答案。

谢谢大家


应该是选填的,不写的话,各个浏览器都有默认的值,最小值5~16之间,看过一篇文章,好像说是最小设成16,比较保险。


选填!
因为程序执行也是需要花费时间的,也就有了时间间隔!由于js的单进程特性,这个时间间隔可能会受到别的程序执行的影响。你可以把他当做是填写的0(如果真受到其他程序执行的影响了,你即使填写了其他数字也是一样的).

还有setTimeout的延时没有setInterval准确.


按w3c上的,timeout是可选参数

handle = window . setTimeout( handler [, timeout [, arguments... ] ] )
handle = window . setTimeout( code [, timeout ] )

至于不写timeout参数

5.Let timeout be the second method argument, or zero if the argument was omitted.

相当于timeout为0

但是timeout为0并不等于立即执行,实际的执行时间可能会受到其他执行的脚本,用户界面的刷新操作等等的影响

具体标准参考:https://www.w3.org/TR/html5/webappapis.h...

【热门文章】
【热门文章】