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

直接使用startCount();

直接使用startCount();

K8sCat 2018-03-24 17:32:21
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>计时器</title><script type="text/javascript">  var num=0;  function startCount() {    document.getElementById('count').value=num;    num=num+1;    setTimeout("startCount()", 1000);  }  /*   *startCount();   *为什么不可以直接写startCount()这个function,而是要写setTimeout("startCount()",1000)?   *chrome的控制台下报错:   *Uncaught TypeError: Cannot set property 'value' of null   *at startCount (new_file.html?__hbt=1521883370139:9)   *at new_file.html?__hbt=1521883370139:15   */  setTimeout("startCount", 1000);</script></head><body><form><input type="text" id="count" /></form></body></html>
查看完整描述

1 回答

已采纳
?
CodeManDSH

TA贡献58条经验 获得超18个赞

你做的是“计时器”,所以用setTimeout(),一秒后执行一次啊

另外最后的:

setTimeout("startCount", 1000);

应该是:

setTimeout("startCount()", 1000);


查看完整回答
反对 回复 2018-03-26
  • K8sCat
    K8sCat
    就是说setTimeout延迟后只执行一次,而setInterval会在特定间隔的时间一直执行function,对吧?
  • CodeManDSH
    CodeManDSH
    是的,setTimeout() 只有一次
  • K8sCat
    K8sCat
    嗯嗯懂了,谢谢你
  • 1 回答
  • 0 关注
  • 1395 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信