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

为什么要两句setTimeout("startCount()",1000);

为什么要两句setTimeout("startCount()",1000);才能执行

正在回答

6 回答

回复 human123:外面那个延迟一秒执行startCount函数,里面那个循环执行startCount函数。外面那个主要作用就是等dom节点都加载完才执行函数。写成以下形式同样可以实现效果。


<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
</head>
<body>
<form>
<input type="text" id="count" />
</form>
<script type="text/javascript">
  var num=0;
  function startCount() {
    document.getElementById('count').value=num;
    num=num+1;
    setTimeout("startCount()",1000);
  }
  startCount();
</script>
</body>
</html>


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

human123 提问者

明白 谢谢
2015-07-24 回复 有任何疑惑可以回复我~
#2

Yvonne_D

我把第二个setTimeout("startCount()",1000);改成 startCount(); 显示不出来。为什么呢
2015-08-13 回复 有任何疑惑可以回复我~
#3

arlenhui 回复 Yvonne_D

不加双引号的话startCount()会在传入setTimeout的回调时就已经执行了。setTimeout里面传参有三种形式,你可以查看文档看看,对你会有帮助。
2015-08-13 回复 有任何疑惑可以回复我~
#4

qq_嶸歸_0

setTimeout("startCount()",1000);改成 startCount(); 不行好不好,你试过没有,不要在这里误导别人
2018-07-13 回复 有任何疑惑可以回复我~
查看1条回复

其实应该像讲解中的例子一样,应该设置一个按钮去启动函数,这样就比较好理解了。第二个setTimeout("startCount()",1000)相当于就是这个启动按钮,有了这句话就不用启动按钮了。有错误的地方还望指正!!

<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
var num=0;
function numCount(){
 document.getElementById('txt').value=num;
 num=num+1;
 setTimeout("numCount()",1000);
 }
</script>
</head>
<body>
<form>
<input type="text" id="txt" />
<input type="button" value="Start" onClick="numCount()" />
</form>
</body>
</html>


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

函数里面的没有调用函数的时候是不会启动的

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

human123 提问者

请问里面那个起什么作用?外面那个起什么作用
2015-07-24 回复 有任何疑惑可以回复我~
#2

qq_小城故事_0 回复 human123 提问者

里面循环作用,外面调用作用
2015-07-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么要两句setTimeout("startCount()",1000);

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