美文网首页
js-计时器笔记

js-计时器笔记

作者: Llane00 | 来源:发表于2017-04-10 22:23 被阅读0次

setTimeout (timeout 暂停)
setInterval (interval 间隔)

所以setTimeout就像设置一个闹钟,就响一次。
setInterval就像设置一个规律,比如让自己每过2小时眼睛就休息一下。

setTimeout和setInterval都会返回声明计时器的顺序(ID)

假如你设置了一个每隔1秒提示一下的setInterval(),现在需要停止它。
可以用clearInterval(id),setTimeout()对应的是clearTimeout(id)。
id需要是对应的计时器,但这样很麻烦。

所以通常我们给计时器起个名字,再clear它。

//设置一个计时器每隔一秒输出1
var clock1 = setInterval(function(){
  console.log(1)
}, 1000)

clearInterval(clock1) //清除计时器clock1

计时器的执行顺序

for(var i = 0; i < 1000; i++){
  console.log(1);
}
var clock2 = setTimeout(function(){
  console.log("clock2")
},2000)
var clock1 = setTimeout(function(){
  console.log("clock1")
},1000)

// 输出的结果是1000个1
// clock1
// clock2

计时器内的函数会到所有正常代码的最后才执行,即排在执行时间列表的最后。但是计时器的计时在前面的代码执行时就开始了。
所以事实上的结果是在1000个1执行完后,clock1、clock2立即一起输出。
而不是1000个1执行完后,过1秒输出clock1,再过2秒输出clock2.

浏览器的最小时间单位并不是1毫秒,是不稳定的。

相关文章

网友评论

      本文标题:js-计时器笔记

      本文链接:https://www.haomeiwen.com/subject/tumeattx.html