<!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); 这个只是初始化