我直接执行这个方法为什么不行?

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

嗟嗟嗟

2015-07-18 23:02

<!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);
  }
 startCount();//按道理应该可以达到效果啊?为什么答案这边还要写setTimeout("startCount()",1000);

</script>
</head>
<body>
<form>
<input type="text" id="count" />
</form>
</body>
</html>

 

 

写回答 关注

2回答

  • hey自然
    2015-08-18 16:23:42

    完全可以。但是我们需要某一个操作来调用这个函数。 函数不会自执行,所以需要比如一个click="startCound()" 来调用这个函数。

    嗟嗟嗟 回复hey自然

    感觉JS好奇怪,其他语言写在主方法里的方法会自动执行的啊

    2015-08-19 01:51:53

    共 2 条回复 >

  • 浅水了
    2015-07-19 12:31:35
    setTimeout    在1000ms后执行一个函数; startCount()你这样的话是直接执行;比如说当你打开一个网页;需要3S后弹出一个广告。用setTimeout  就好了


    嗟嗟嗟

    我是说为什么用这个延迟执行,方法里已经有一个延迟执行的递归了。我调用这个方法不就可以实现了吗?为什么外面还要调用一个延迟执行的方法?

    2015-07-19 22:30:17

    共 3 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题