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

调用函数?

为什么把setTimeout(startCount,1000);换成startCount()这样来调用函数不行呢?

正在回答

5 回答

据说使用startCount();调用函数的话是直接调用函数的,由于处于<head>标签里,此时<body>标签里的内容还没有加载,所以函数体中的getElementById('count')是找不到id为count的对象的,所以用startCount()不成功,可以把<script>放到<body>的最后应该就可以了

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

傻了吧唧君

正解~
2016-08-26 回复 有任何疑惑可以回复我~

你问的应该是这个问题吧

  var num=0;

  function startCount() {

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

    num=num+1;

setTimeout("startCount()",1000);

  }

startCount();   为什吗用这个调用函数不好使


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

有花不见叶 提问者

是的。
2016-08-23 回复 有任何疑惑可以回复我~
#2

Tropicloz 回复 有花不见叶 提问者

同样,楼主找到解决办法了吗?我试了一下,执行到 document.getElementById('count').value=num;这段时就卡住了。但是用setTimeout("startCount()",1000);就能继续执行。
2016-08-23 回复 有任何疑惑可以回复我~
#3

有花不见叶 提问者

<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> 你试一下这样
2016-08-24 回复 有任何疑惑可以回复我~

如果要加括号,也要加双引号,格式:setTimeout("startCount()",1000);

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

加了括号就直接调用执行那个函数了

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

setTimeout(startCount,1000)里面的startCount是一个对象.

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

举报

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

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

进入课程

调用函数?

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