setTimeout vs. setInterval (2) FirefoxBlog
程序员文章站
2024-03-22 15:35:28
...
在上一个 post 里我说明了setTimeout和setInterval在运行机制和使用上面的区别。今天在更新RSSGo! Firefox extension(主要加入Live Strong blog的RSS feeds,可以在点击这里下载) 又发现一个区别。概括的说在调度动态参数的函数时,setTimeout 比 setInterval 要强大很多。
例子场景设计:有一个RSS feeds容器,周期性的从容器中选取出一个feed, 如果遇到最后一条,那么下次选取跳到第一条。也就是说feed list是一个环形列表。
实现:我发现这个例子只能用setTimeout来实现,如果你能用setInterval做到同样的效果,welcome commets .
例子场景设计:有一个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);