`
hijack
  • 浏览: 36603 次
  • 性别: Icon_minigender_1
  • 来自: Mars
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

setTimeout vs. setInterval (2)

阅读更多
上一个 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);


分享到:
评论
2 楼 hijack 2006-10-16  
Lucas Lee 写道
我看不出有什么理由不用 setInterval(myalert(),5000),然后myalert()里每次取全局变量i的指并加1。
Thanks Lucas, u r right! I updated my blog:)
1 楼 LucasLee 2006-10-16  
我看不出有什么理由不用 setInterval(myalert(),5000),然后myalert()里每次取全局变量i的指并加1。

相关推荐

Global site tag (gtag.js) - Google Analytics