为了账号安全,请及时绑定邮箱和手机立即绑定

setTimeout的时间限制为什么是500不是1000呢????

setTimeout的时间限制为什么是500不是1000呢????

正在回答

5 回答

你可以改

0 回复 有任何疑惑可以回复我~
#1

鲤鱼喝海水 提问者

非常感谢!
2015-10-26 回复 有任何疑惑可以回复我~

你要了解:

1、setTimeout(fun,500) 执行过程:等待500毫秒,执行fun程序;

2、function fun(){

        xxxxxx;

        xxxxxx;

        xxxxxx;

        setTimeout(fun,500);

    }

    执行过程:先执行 fun 内部的 xxxxxx(需要执行时间);然后当执行到 setTimeout 时,现在开始等待500毫秒。500毫秒之后开始执行fun函数,此时还是先执行 xxxxxx(注意此时执行这些命令同样是需要时间的,假设需要y毫秒),然后执行到setTimeout,此时开始再等待500毫秒之后执行fun函数。

    总的程序执行时间可以这么算:y+500+y+500+y+500+...... ; 

    可以看出每次执行setTimeout,都会有执行xxxxxx;消耗的y时间,如果把500改成1000,那么当y累计到一定程度(y++ >= 1000ms),就会一次性跳过2秒,造成程序执行不够精确;

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
倒计时效果
  • 参与学习       55626    人
  • 解答问题       242    个

电商网站限时抢购倒计时效果计算思路和方法,前端开发必备技术

进入课程

setTimeout的时间限制为什么是500不是1000呢????

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信