为了账号安全,请及时绑定邮箱和手机立即绑定

为什么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>



正在回答

2 回答

先了解:在js里,函数后面只要有()就是执行函数的意思;

当var i=setInterval(clock,1000)这么赋值的时候,setInterval同样会执行;

因此如果2个都写,就相当于执行了2次setInterval函数,那么后面的clearInterval只能停止一次,还剩下一次就无法停止了;

如果还有不清楚,就回复我

0 回复 有任何疑惑可以回复我~
#1

懵逼的我 提问者

非常感谢!
2016-10-31 回复 有任何疑惑可以回复我~

var i=setInterval(clock,1000);相当于var i;i=setInterval(clock,1000);

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么setInterval(clock,1000);要省略

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信