js中有段代码不理解,只有3行的,可能是用来让setTimeout的时间更加精准的-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

js中有段代码不理解,只有3行的,可能是用来让setTimeout的时间更加精准的

小旋风柴进 2016-03-19 09:52:11 1350
 function animate() {
            var start = +new Date();
            //其他的语句
            var finish = +new Date();
            //请问这里为什么要减去(finish-start)
            setTimeout(animate, 1000 - (finish-start));

        }
时间不准 时间代码 set的代码 代码set .net时间
分享到
取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 19:07:22

    1.每个动画以1秒为单位执行;
    2.finish-start -> 可以理解为一个动画从开始到结束的时间,从代码看,一般每个动画完成的时间会少于1秒;
    3.为了在单位时间(1秒)内完成动画,那么就要进行延迟执行动画,延迟多长时间呢?那就是1秒减掉执行过程要耗费掉的时间,就是我要执行动画的时间。

    总结: 延迟时间 + 动画执行时间 == 1秒

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

相似问题
最新问题
推荐课程