为什么要两句setTimeout("startCount()",1000);才能执行
回复 human123:外面那个延迟一秒执行startCount函数,里面那个循环执行startCount函数。外面那个主要作用就是等dom节点都加载完才执行函数。写成以下形式同样可以实现效果。
<!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>
<script type="text/javascript">
var num=0;
function startCount() {
document.getElementById('count').value=num;
num=num+1;
setTimeout("startCount()",1000);
}
startCount();
</script>
</body>
</html>其实应该像讲解中的例子一样,应该设置一个按钮去启动函数,这样就比较好理解了。第二个setTimeout("startCount()",1000)相当于就是这个启动按钮,有了这句话就不用启动按钮了。有错误的地方还望指正!!
<!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>函数里面的没有调用函数的时候是不会启动的