为了账号安全,请及时绑定邮箱和手机立即绑定

为什么要两组setTimeout("startCount()",300); 才会运行

  var num=0;

  function startCount() {

    document.getElementById('count').value=num;

    num=num+1;

    setTimeout("startCount()",300); 

  }

    setTimeout("startCount()",300); 


正在回答

3 回答

第一个 setTimeout("startCount()",300); 在函数方法里面,如果不调用这个方法,他自己就不会执行到这方法里面的所有语句,而地问个 setTimeout("startCount()",300); 是在JavaScript标签内部的,当网页被加载时就会被执行这个语句,也就是说:当网页被加载时,先会运行第二个 setTimeout("startCount()",300); 语句,就会调用startCount()方法,之后就会反复地运行startCount()里面的第一个 setTimeout("startCount()",300); 语句。如果没有第二个 setTimeout("startCount()",300); 就没法调用startCount(),也就没法运行startCount()里面的第一个 setTimeout("startCount()",300); 语句了,所以两个必不可少。

3 回复 有任何疑惑可以回复我~
#1

荔枝3668348 提问者

麻烦大神了 !谢谢
2016-08-31 回复 有任何疑惑可以回复我~
#2

香宝的夫差

如果改变两个的延迟时间,就会发现明显计时器变化的频率不一样。所以,貌似不是一直第一个函数执行?
2016-09-20 回复 有任何疑惑可以回复我~
#3

慕哥9397122 回复 香宝的夫差

没看懂,代码上是指定第一个timeout语句一直被延迟执行的呢
2016-10-13 回复 有任何疑惑可以回复我~

先执行第二的setTimeout("startCount()",300),才会调用startCount()方法,之后才反复调用第一个setTimeout()方法

0 回复 有任何疑惑可以回复我~

你如果只写函数外面的setTimeout("startCount()",300);也是可以执行的   函数必须调用才会被执行  只有里面的函数没法自调用所以永远不会执行

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么要两组setTimeout("startCount()",300); 才会运行

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信