浏览器切换或最小化时,js定时器准时吗?

2026-03-31 16:150阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1720个文字,预计阅读时间需要7分钟。

浏览器切换或最小化时,js定时器准时吗?

目录前言浏览器可见性和不可见状态setIntervalsetTimeoutrequestAnimationFrame总结如何解决前言这是我最近开发中遇到的一个问题,下面是我测试出来的实践结果,供大家参考。

关于js定时器

目录
  • 前言
  • 浏览器可见和不可见状态
  • setInterval
  • setTimeout
  • requestAnimationFrame
  • 总结
  • 如何解决

前言

这是我最近开发碰到的一个问题,本文是我测试出来的实践结果,供大家参考。

关于js定时器,setInterval和setTimeout,作为我们日常开发经常使用到的方法,大家一定非常熟悉。比如下面一个例子:

setInterval(() => { console.log('1'); }, 500);

作为刚学前端没多久的新人也能知道,这段代码就是每过500ms打印一次1(实际运行还需要考虑js的宏任务和微任务的执行时间,定时器的间隔时间是500ms,但是定时器中的方法触发可能需要在宏任务队列中排队,不一定会在500ms的时候触发,关于Event Loop的基础内容不在本文讨论之内)。

阅读全文

本文共计1720个文字,预计阅读时间需要7分钟。

浏览器切换或最小化时,js定时器准时吗?

目录前言浏览器可见性和不可见状态setIntervalsetTimeoutrequestAnimationFrame总结如何解决前言这是我最近开发中遇到的一个问题,下面是我测试出来的实践结果,供大家参考。

关于js定时器

目录
  • 前言
  • 浏览器可见和不可见状态
  • setInterval
  • setTimeout
  • requestAnimationFrame
  • 总结
  • 如何解决

前言

这是我最近开发碰到的一个问题,本文是我测试出来的实践结果,供大家参考。

关于js定时器,setInterval和setTimeout,作为我们日常开发经常使用到的方法,大家一定非常熟悉。比如下面一个例子:

setInterval(() => { console.log('1'); }, 500);

作为刚学前端没多久的新人也能知道,这段代码就是每过500ms打印一次1(实际运行还需要考虑js的宏任务和微任务的执行时间,定时器的间隔时间是500ms,但是定时器中的方法触发可能需要在宏任务队列中排队,不一定会在500ms的时候触发,关于Event Loop的基础内容不在本文讨论之内)。

阅读全文