首页 新闻 会员 周边

大家给我看看,这段javascript的语句有什么问题。

0
悬赏园豆:5 [已解决问题] 解决于 2014-09-28 18:00

setTimeout("alert(new Date())",1000)

这句话在脚本里问什么不是1s钟弹出一次警告框呀!!!!!!

GoBa的主页 GoBa | 初学一级 | 园豆:197
提问于:2014-09-21 22:32
< >
分享
最佳答案
0

在js里,定时函数主要有两个:setInterval和setTimeout。

setTimeout:超时定时,指当超时(达到指定时间后)执行一次目标函数(记住是执行且只执行一次)

setInterval:是间隔定时,指每隔指定的时间执行一次目标函数(记住:是不停的执行函数,除非认为的终止定时器)

至于1秒这个时间间隔,不会那么准确的,稍有差池,但不大。

根据你的代码,意思是:一秒后弹出警告。如果你想每隔一秒都弹出警告,使用setInterval

收获园豆:3
519740105 | 大侠五级 |园豆:5810 | 2014-09-22 09:14
其他回答(6)
3

根据你的描述,你应该用setInterval

收获园豆:1
jello chen | 园豆:7336 (大侠五级) | 2014-09-21 23:58
0

一楼回答正确,你想每秒弹一次是setInterval,setTimeout是在指定的时间之后执行一次

收获园豆:1
ChixTech | 园豆:171 (初学一级) | 2014-09-22 08:40
0

setTimeout(function(){alert(new Date())},1000) //这样试一试。

大楚打码人 | 园豆:4313 (老鸟四级) | 2014-09-22 12:32
0
function Exec() {
  var s = setTimeout(function () {
    alert(new Date());
    Exec();
  }, 1000)
}
Exec();
敬YES | 园豆:490 (菜鸟二级) | 2014-09-22 17:32
0

setTimeout:在设定的时间后,将语句加入执行队列。

setInterval:没间隔设定的时间,将语句加入执行队列。

幻天芒 | 园豆:37175 (高人七级) | 2014-09-23 12:14
0

setTimeout定时函数被设置后;只是被添加到js的执行队列中;我们知道,js是单线程机制,不是到了定时时间就立马执行。而是当执行队列轮到setTimeout定是函数才会执行!!!

木公2014 | 园豆:215 (菜鸟二级) | 2014-09-23 16:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册