论坛首页 Web前端技术论坛

setTimeout vs. setInterval (2)

浏览 5582 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-10-16  
上一个 post 里我说明了setTimeout和setInterval在运行机制和使用上面的区别。今天在更新RSSGo! Firefox extension(主要加入Live Strong blog的RSS feeds,可以在点击这里下载) 又发现一个区别。概括的说在调度动态参数的函数时,setTimeout 比 setInterval 要强大很多。

例子场景设计:有一个RSS feeds容器,周期性的从容器中选取出一个feed, 如果遇到最后一条,那么下次选取跳到第一条。也就是说feed list是一个环形列表。

实现:我发现这个例子只能用setTimeout来实现,如果你能用setInterval做到同样的效果,welcome commets  .

  
var feeds = [’http://jack.lifegoo.com/?feed=rss2′,
                     ‘http://jack.lifegoo.com/?feed=comments-rss2′,
                     ‘http://sishen.lifegoo.com/?feed=rss2′,
                     ‘http://sishen.lifegoo.com/?feed=comments-rss2′];

function myalert(i){
    if(i < feeds.length) {
    alert(feeds[ i ++]);
 } else {
    i = 0;
    alert(feeds[ i ++]);
 }
 setTimeout("myAlert(" + i +")", 5000);
}

myAlert(0);


   发表时间:2006-10-16  
我看不出有什么理由不用 setInterval(myalert(),5000),然后myalert()里每次取全局变量i的指并加1。
0 请登录后投票
   发表时间:2006-10-16  
Lucas Lee 写道
我看不出有什么理由不用 setInterval(myalert(),5000),然后myalert()里每次取全局变量i的指并加1。
Thanks Lucas, u r right! I updated my blog:)
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics