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

为什么出现两次settimeout,如何理解,谢谢

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>计时器</title>

</head>

<script type="text/javascript">

  var num=0;

  function startCount() {

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

    num=num+1;  

    setTimeout("startCount()",1000);

  }

    setTimeout("startCount()",1000);

</script>

</head>

<body>

<form>

<input type="text" id="count"  />

</form>

</body>

</html>


正在回答

4 回答

因为你“显示时间”的代码块在函数内,而函数是需要调用才会出效果的,所以函数外的那个setTimeout()就是帮你触发函数的;一但触发到这个函数,函数内的setTimeout()就开始工作了,如此就会实现循环

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

慕粉18144024425 提问者

非常感谢!
2016-12-07 回复 有任何疑惑可以回复我~
#2

暮女神

请问大神是不是开始之后外面那个setTimeout()就不再执行了?
2016-12-17 回复 有任何疑惑可以回复我~

还是有点懵

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

js是顺序执行的,在执行第一个startCount()时候,已经触发了里面的startCount(),之后应该是在次执行第一个startCount()。那第二个startCount()什么时候执行呢?

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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468046    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

为什么出现两次settimeout,如何理解,谢谢

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