<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
<script type="text/javascript">
var num=0;
function startCount() {
document.getElementById('count').value=num;
num=num+1;
setTimeout("startCount()",1000);
}
setTimeout("startCount()",1000);
</script>
</head>
<body>
<form>
<input type="text" id="count" />
</form>
</body>
</html>是不是这样理解。第一个set不会自动运行,第二个set开始调用函数。然后循环。函数内部有自运算,然后函数外部的set也在一直运行。然后就出现了一秒的时间数字+2的情况?
那为什么我再function 加一个 startCount();不行呢?
你的点击事件没有onclick="startCount()",第二个setTimeout("startCount()",1000);是可以不要的
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
<script type="text/javascript">
var num=0;
function startCount() {
document.getElementById('count').value=num;
num=num+1;
setTimeout("startCount()",1000);
}
</script>
</head>
<body>
<form>
<input type="text" id="count" onclick="startCount()"/>
</form>
</body>
</html>
第一次执行外面这个set执行了这个函数,然后里面那个set每次都调用自己。形成了一个循环。