js-计时器笔记

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毫秒,是不稳定的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,088评论 19 139
  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 7,767评论 0 8
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 11,524评论 0 6
  • 第1章 认识JS JavaScript能做什么?1.增强页面动态效果(如:下拉菜单、图片轮播、信息滚动等)2.实现...
    mo默22阅读 5,238评论 0 5
  • 前言:在引用开发中,我们经常需要在页面中执行一些周期性的操作,比如每隔一段时间就执行某一固定的操作。而对于这样的操...
    帅帅哒小白阅读 10,707评论 1 3

友情链接更多精彩内容