为什么这样写代码不能循环

<!DOCTYPE HTML>

<html>

<head>

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

<title>计时器</title>

<script type="text/javascript">

  var num=0;

  setTimeout(function startCount() {

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

    num=num+1;

    setTimeout("startCount()",1000); 

  },1000);


</script>

</head>

<body>

<form>

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

</form>

</body>

</html>


qq_迸发激情_0
浏览 2081回答 3
3回答

慕的地8582982

ADQUCMWORTWJPNOKYKEEOMFQDBSJMPCLIWMUMPJNQDKDQXUYLVYBYPDUEKZCTQAEEVXDDRNATEELLCYBBVUKLCIFUXTBBIBYBSJXNYLPVCYYYBQUKXUNOVFOYSZVAVOVFPSGIOSZLLHKHBKVRXHDVVBIRBKKXBUXKWMXXJZPSJANDZDMVDMMIRBYBHBFFCGUSFPPJCXHXKOYNKDZIRAXNQDQMDMQQSYCOPBLEBEAJQUHBIDJDQBRKRKCLSISBLGJJVFFIYRYCMVWNOJMJMMEENXDXXQQTTVYICQNFCSYLQMCBEIBJJCMZFIVSVIXHAXSRLFTWGWZTFSZYIYAJAGAAQMWFFYLOFPVELLZPSQSVLEPIFPXBUQKUAQMFSKTRGCWCYLBKZJMYIFVSYRHRHJUAAVIQTDGGEAQUXYEUXKKNJZCZTFVCPYSYSBVKAGUOEIBGBYWIAORURRHRKLHABXZSXADQQZMZWTSZSVYQWVPLQWCJCSTMRRXTNNWTWTSBSBJMKAQJCMGKWUPFVPPNWHEDNZDTWCGPMZVANNTDDEAZNBVSQCNINGIZPBLLBEAMPFPVZNQILLNAZCMFDLBYYZJXUQKDFVVEEKDXHIRSVEYXDGAXONNUNDLHAKGKAMDMQVLBWSVTPYOEKZILNXSOROKZVKADTJFCLCJRIMILUYGJEOXTJRCFIYBLVRNQGPSWSPFQZIFMYOSIRQTCANQUTUANNFENBUHUFZZJKTZJMIVICSEVEMFSVKAQQQPIBFSLLEIEOHQMPMCMBEOFVEHEUDTQGCYRHOLUEOXUDAPFCZBMBJMWSIKUKGDQNKNPZBQNWMJGJFIUKHKAKNDMWMBWAXTWGDTJMNJNXSPLOXZWGDTCFBLBLUE

小郎Lie

我也很好奇为什么必须把setTimeout("startCount()", 1000); 改成setTimeout(startCount, 1000); 虽然调试的结果确实是当使用setTimeout("startCount()", 1000);的时候,浏览器居然会报错VM325:1 Uncaught ReferenceError: startCount is not defined    at <anonymous>:1:1更神奇的是,如果我用setTimeout(startCount(),1000); 调试运行居然会一直调用startCount(),导致浏览器报错setTimeOut.html:8求大神解答

qq_迸发激情_0

为什么要这样改setTimeout("startCount()", 1000); 改成setTimeout(startCount, 1000); 上面的不是等效的吗?

hahhhha

下面的代码试一下效果。<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>计时器</title> </head> <body> <form> <input type="text" id="count" /> </form> </body> <script type="text/javascript"> (function(){ var ele = document.getElementById('count'), num = 0; var startCount =function(){ ele.value = num++; setTimeout(startCount,1000);  }; startCount(); }()); </script> </html>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript