為什么setInterval(clock,1000);要省略
求解答! 為什么函數之后不能是 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>
2016-10-30
先了解:在js里,函數后面只要有()就是執行函數的意思;
當var i=setInterval(clock,1000)這么賦值的時候,setInterval同樣會執行;
因此如果2個都寫,就相當于執行了2次setInterval函數,那么后面的clearInterval只能停止一次,還剩下一次就無法停止了;
如果還有不清楚,就回復我
2016-10-29
var i=setInterval(clock,1000);相當于var i;i=setInterval(clock,1000);