Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > 网页制作 > 关于JavaScript的时间精度
【标  题】:关于JavaScript的时间精度
【关键字】:JavaScript
【来  源】:http://blog.csdn.net/hax/archive/2006/12/19/1449403.aspx

关于JavaScript的时间精度

Your Ad Here JavaScript时钟间隔的问题~的回复:

时间间隔是约数,通常会认为在10ms-20ms之间,来源应该是win的时钟限制。为什么没有人确切的说是16ms?因为这个16ms来源于不准确的new Date!

function test() {
    var dates = [];
    var d = new Date();
    count = 0;
    while (count < 10) {
        var x = new Date();
        var t = x.getTime() - d.getTime();
        if (t > 0) {
            dates.push(t);
            d = x;
            count++;
        }
    }
    alert(dates);
}

上面这个test在xp下运行,也是打印出15,16...。也就是时钟精度就只有这点。
但是放到vista上看就会发现不同了,会出现1,1,1,1...,说明vista上的时钟精度提高了!但是setInterval的结果是形如16,3,18,16,13,18,13,17,21,9,8,22,1,6...这样的。

所以,xp系统上的16ms间隔反映的是时钟精度,而不是真实的interval间隔值,真实的间隔值可能是一个难以度量的随机值。

在ff上出现0的情况,并不是因为java的问题(ff可以不启用java的),而是因为ff允许0间隔(即与ie不一样,可以设0ms),比方说前一个任务做了太久后面一个会立即跟上,而ie和opera至少休息一个周期。

BTW,实际上setTimeout和setInterval的实现上当无差异,之所以不同是因为我们代码书写方式的不同,假如习惯于在干活的代码之前而不是之后写下一个setTimeout,那可能就没有差别了。反之,在干活后setTimeout可以确保出让足够的cpu时间,而setInternal就可能始终霸占着cpu。如果要做一个给其他人用的任务调度器,则就应该使用setTimeout。比如说做动画效果的timeline,我倾向于使用单一的setTimeout来构建任务队列,然后执行动画运算时,根据当前时间来计算,而不是帧数,这样在cpu不行的情况下,就类似于跳帧的效果。如果自己执行一些单纯的小任务,能保证不会耗费过多cpu,用setInterval就很直接方便了。
多层迭代,List 中嵌套bean应如何写?:【上一篇】
ASP.NET 2.0 中的异步页(from MSDN):【下一篇】
【相关文章】
  • 几款不错的php、css、javascript的IDE。
  • javascript实现datagrid客户端checkbox列的全选,反选
  • 谈谈JavaScript中的数组、集合及效率
  • 在javascript中得到当前窗口的高和宽
  • JavaScript中两个日期相减
  • 利用Javascript来提交表单(二)
  • Tips - javascript和PHP的encode
  • JavaScript计算某一日期是星期几
  • JavaScripte中的Prototype机制(一)
  • Javascript常犯的一个错误
  • 【随机文章】
  • Class for reading INI files
  • 源代码检验执行统一标准
  • linux下的vsftp服务
  • 如何用ASP编写网站统计系统二
  • C语言基本的文件操作
  • 取代Text和Combo 的CobText.CobText 可以同时扮演六种不同角色
  • SUN服务器上安装solaris9文档
  • 计算机专业人才求职指南
  • [软考]就差一分~~~
  • 委托与事件的应用---翻页控件
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.