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

来源:8-5 计时器setTimeout()

荔枝3668348

2016-08-08 16:29

  var num=0;

  function startCount() {

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

    num=num+1;

    setTimeout("startCount()",300); 

  }

    setTimeout("startCount()",300); 


写回答 关注

3回答

  • 慕哥9397122
    2016-08-08 18:01:25
    已采纳

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

    慕哥9397... 回复香宝的夫差

    没看懂,代码上是指定第一个timeout语句一直被延迟执行的呢

    2016-10-13 09:16:43

    共 3 条回复 >

  • TanX17丶
    2016-08-13 16:59:49

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

  • 慕粉3746023
    2016-08-08 18:03:41

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

JavaScript进阶篇

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

468196 学习 · 21891 问题

查看课程

相似问题