问答详情
源自:8-4 取消计时器clearInterval()

8-4取消计时器问题

var i=setInterval("clock()",100);
为什么要用i来定义

为什么不可以直接这样:

在onclick="clearInterval(clock)"

8-3那边都可以直接用啊

提问者:星星3394050 2016-06-26 12:41

个回答

  • 安之以祖古
    2016-06-26 13:29:51
    已采纳

    var i=setInterval("clock()",100);

    setInterval("clock()",100)执行时,除了会执行代码,setInterval还会返回自己的身份标识,也就是句柄。

    声明一个变量i,用来存放setInterval("clock()",100)的身份标识。

    clearInterval(i),是取消i存放的那个身份标识所指向的定时器。

    clearInterval是取消定时器的,不是取消函数的。也就是clearInterval(clock)是取消函数。我就算你真的能取消了函数,但定时器还在,就会一直执行函数。所以必须clearInterval(i)取消定时器

  • 星星3394050
    2016-08-07 20:17:38

    一开始理解不了你说的, 慢慢后来自己学的多一点才明白你说的是对的.多谢.