最近遇到的一个小问题--定时器setTimeout和setInterval

一、setTimeut和setInterval定时器

(一)setTimeout

1.语法
   setTimeout(参数1,参数2);---形象的比喻为一个定时炸弹
   参数1:为一个回调函数,function(){}
   参数2:为一个时间,单位是ms
2.注意:
  ①回调函数执行,是在参数2设定的事件之后,执行。
  参数2:为延迟时间
  ②返回值为一个整数;用来唯一的标识一个定时器
  ③定时器只会执行一次
  ④定时器产生以后,代码一定是最后执行,即使参数2设置的时间为0ms,也会等到非定时器代码执行完后才会执行
3.清除定时器---clearTimeout
   ①语法:clearTimeout(参数);
   参数:为要清除的定时器的返回值

(二)setInterval

1.语法
   setInterval(参数1,参数2);
   参数1:回调函数function() {}
   参数2:为是时间,单位ms
   注意:此处的参数2与setTimeout中的参数2,代表的含义不一样
      此处代表每隔这些秒数就会产生一个定时器
2.注意
  ①用setInterval设置的定时器,每隔一段时间(参数2)就会执行一次,
  ②执行的次数为无数次
3.清除定时器
clearInterval(参数);
参数:为定时器的返回值

(三)关于俩个定时器的小问题

1.关于setTimeout
问题:即使给参数2设置的延迟时间为0,定时器也不会被立即执行,是将其加入到异步队列中,当同步队列中的内容执行完成之后,才会执行异步队列中的内容
2.关于setInterval
问题:可以看一下下面的链接,里边的内容更加详细
https://www.cnblogs.com/xiaohuochai/p/5773183.html

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复