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

阅读 9.9k
3 个回答

按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...

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏