为什么一个无穷循环,一个只运行一次?

来源:8-5 计时器setTimeout()

tom0008668

2016-04-13 17:34


为什么

当按钮start被点击时,setTimeout()调用函数,在5秒后弹出一个提示框   只运行一次?


<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function tinfo(){
 var t=setTimeout("alert('Hello!')",5000);
}
</script>
</head>
<body>
<form>
 <input type="button" value="start" onClick="tinfo()">
</form>
</body>
</html>




而这个代码就创建一个运行于无穷循环中的计数器,而不是只运行一次?


<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
var num=0;
function numCount(){
document.getElementById('txt').value=num;
num=num+1;
setTimeout("numCount()",1000);
}
</script>
</head>
<body>
<form>
<input type="text" id="txt" />
<input type="button" value="Start" onClick="numCount()" />
</form>
</body>
</html>


写回答 关注

1回答

  • Aczael
    2016-04-13 18:43:13
    已采纳

    下面这个函数,在函数里面调用了自己,相当于运行setTimeout("numCount()",1000);的时候,又将nunCount()重新运行了一次……

    tom000...

    非常感谢!

    2016-05-17 15:29:37

    共 1 条回复 >

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题