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

 mobiledu2502876293 发布于 2022-11-15 23:54

首先是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 个回答
  • 应该是选填的,不写的话,各个浏览器都有默认的值,最小值5~16之间,看过一篇文章,好像说是最小设成16,比较保险。

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

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

    2022-11-15 23:59 回答
  • 按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...

    2022-11-15 23:59 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有