慕前端7121920
2015-04-17 15:53
<!DOCTYPE HTML> <html> <head> <script type="text/javascript"> var num=0,i; function timedCount(){ document.getElementById('txt').value=num; num=num+1; i=setTimeout(timedCount,1000); } setTimeout(timedCount,1000); function stopCount(){ clearTimeout(i); } </script> </head> <body> <form> <input type="text" id="txt"> <input type="button" value="Stop" onClick="stopCount()"> </form> </body> </html>
1、这是在用setTimeOut来实现setInterval函数。两个函数的区别就是setTimeOut只执行一次,简单来说就是延迟1秒执行函数timedCount,且只执行一次。而setInterval则是每隔多少时间就执行一次函数,是循环的,如果不阻止就会一直执行下去。
2、在你的代码中可以看到有两个function,函数是需要调用才可以用的,外边的那个setTimeOut就是在调用timedCount函数,而timedCount函数中又进行了一次自身的调用,说是递归你可能就会明白了。实际上外面的函数只调用了一次,可是函数内部又进行了对自身的调用,从而形成了循环。
3、个人理解~~
正在纠结,看到这个秒懂,感谢感谢
外边setTimeout(timedCount,1000); 这个只是初始化
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题