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

js中代码里面怎么用了两次setTimeout("startCount()",1000);

为什么要用两次呢 求大神的解答

正在回答

4 回答

函数外面的目的是1s中后调用,你也可以直接写成startCount();函数里面的,固然是为了实现不断循环,递归调用自己~

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

海枯_ 提问者

什么时候才要用两次?
2015-01-16 回复 有任何疑惑可以回复我~
#2

Fiona0126 回复 海枯_ 提问者

额。看需求吧- -。这个例子里你也可以只使用一次呀~
2015-01-16 回复 有任何疑惑可以回复我~
#3

海枯_ 提问者

非常感谢!
2015-01-16 回复 有任何疑惑可以回复我~
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
</head>
</head>
<body>
<form>
<input type="text" id="count" />
<script type="text/javascript">
  var num=0;
  function startCount() {
    document.getElementById('count').value=num;
    num=num+1;
    setTimeout('startCount()',1000);
  }
  startCount();
</script>
</form>
</body>
</html>

代码就应该是这样,慕课课程里面的运行有时候不是太好,每次都是外面调试

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

其实这样写才是合理的啦:

<script type="text/javascript">
  var num=0;
  function startCount() {
    document.getElementById('count').value=num;
    num=num+1;
     setTimeout(startCount,1000);
  }
  startCount()
</script>

因为,你是放到head里面,而 #count 这个 input在解析js时还没有渲染出来,所以你的代码是在1s才能执行,1s后那个input已经渲染出来了,不过以后千万不要这么写,正常来说应该是按我上面的代码写,然后把 js 放到input后面,必须是要先让 dom 加载出来,然后js 才能去操作它们~

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

递归调用,不是用两次,是用无数次。。。

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

举报

0/150
提交
取消

js中代码里面怎么用了两次setTimeout("startCount()",1000);

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