我为setInterval创建了一个变量,因此可以使用clearInterval停止它:
var repeat = setInterval(sayHello, 2000);
function sayHello() {
alert("Hello");
}
这是clearInterval:
clearInterval(repeat)
现在,在Firefox中,一旦我运行了此位,如果我想知道“ repeat”的值,它将返回间隔运行的时间。但是,在Chrome中,无论它运行了多少次,它总是返回1。除非我对整个过程进行了处理,然后它返回2。它基本上增加了实例,而不是出现间隔。
任何人都可以对此有所了解,它是如何工作的,以及为什么...受到高度赞赏!
答案 0 :(得分:2)
可以保证的是,setInterval
将返回一个句柄,clearInterval
可以使用该句柄。除此之外,完全取决于浏览器的句柄是什么以及如何使用它。即使它似乎在一个特定的浏览器中提供了一些信息,也不应以任何方式依赖该信息,因为它可能会发生变化。
引用MDN:
返回的intervalID是一个非零的数字值,它标识通过调用setInterval()创建的计时器。该值可以传递给WindowOrWorkerGlobalScope.clearInterval()来取消超时。
别指望或依靠它,成为别的东西。