javascript - setTimeout中第二个参数是选填还是必填?
怪我咯
怪我咯 2017-04-11 09:09:22
[JavaScript讨论组]

首先是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,有一些人却说不是。希望有个比较权威的答案。

谢谢大家

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
ringa_lee

按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,比较保险。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号