懵逼的我
2016-10-29 11:59
求解答! 为什么函数之后不能是 setInterval(clock,1000); var i=setInterval(clock,1000); 呢? 我总觉得这是两个任务,首先是一个周期性执行的计时指令;其次是一个点按钮会停止上述任务的指令。 那为什么setInterval(clock,1000);要省略呢?
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
<script type="text/javascript">
function clock(){
var time=new Date();
document.getElementById("clock").value = time;
}
setInterval(clock,1000);
var i=setInterval(clock,1000);
</script>
</head>
<body>
<form>
<input type="text" id="clock" size="50" />
<input type="button" value="Stop" onclick="clearInterval(i)"" />
</form>
</body>
</html>
先了解:在js里,函数后面只要有()就是执行函数的意思;
当var i=setInterval(clock,1000)这么赋值的时候,setInterval同样会执行;
因此如果2个都写,就相当于执行了2次setInterval函数,那么后面的clearInterval只能停止一次,还剩下一次就无法停止了;
如果还有不清楚,就回复我
var i=setInterval(clock,1000);相当于var i;i=setInterval(clock,1000);
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题