我需要在后台不断的获取数据,有下面两个函数可以使用:
var CC=function(){
......获取数据的代码部分
setTimeout(CC, 1000)
}
CC();var CC=function(){
......获取数据的代码部分}
setInterval(CC, 1000)上面两个函数的执行效果是一样的,
但是对于页面的性能的考虑,使用哪一种方式好一些?

解决方案 »

  1.   

    性能应该是一样的吧
    不过我推荐用setTimeout。
    因为如果你想终止时钟事件的调用的话,只要在CC中的某个if中直接return跳过setTimeout就行了。
    如果是setInterval的话,要clearInterval相应的时钟ID才行
      

  2.   

    有重要的区别,建议还是用setTimeout
    看看jquery的作者的见解
    http://www.phpweblog.net/rainman/archive/2009/01/05/6267.html引用:
    ======================================================
    让我们用一个例子来阐明setTimeout和setInterval之间的区别:
      setTimeout(function(){
        /* Some long block of code... */
        setTimeout(arguments.callee, 10);
      }, 10);
      
      setInterval(function(){
        /* Some long block of code... */
      }, 10);
     这两句代码乍一看没什么差别,但是它们是不同的。setTimeout回调函数的执行和上一次执行之间的间隔至少有10ms(可能会更多,但不会少于10ms),而setInterval的回调函数将尝试每隔10ms执行一次,不论上次是否执行完毕
      

  3.   

    没看出区别。第一种,就是建立一个回调函数,不停的调用自己,第二个是setInterval的基本用法。
    个人推荐使用第二种方法,原因:这个函数写好的程序后期的维护,不仅仅是你一个人,所以写的越简单越好。别写那些回调之类的。—— 个人之见。
      

  4.   

    不知道你要干什么,要是做可能的话,还是comet技术更经典,节省资源,防止刷服务器