setTimeout(function(){console.log("执行了")
},1000)

这段代码我们一般说:1秒后会执行setTimeout里面的函数,但是正确的解释应该是:1秒后setTimeout里面的函数会被推入event queue(事件队列),而事件队列里面的任务,只有在主线程空闲时才会执行。所以只有满足2个条件:一.1秒后 。 二.主线程空闲。才会执行setTimeout里面的回调函数。

需要注意的是,setTimeout()只是将事件插入了"事件队列",如果主线程执行内容很多耗时很长,那只有等主线程执行完成后才能去执行setTimeout指定的回调函数

  <script>console.log(1)setTimeout(() => {console.log(4)}, 20);for (var i = 0; i < 9999999; i++) { }setTimeout(() => {console.log(3)setTimeout(() => {console.log(5)}, 0);Promise.resolve('promise1').then(res => console.log(res))}, 0);console.log(2)//  1 2 4 3 promise1 5</script>

定时器:setTimeout()相关推荐

  1. js中的定时器 setTimeout()和setInterval() (保姆级教程)

    1 两种定时器 window 对象给我们提供了 2 个非常好用的方法-定时器. setTimeout() setInterval() 2 setTimeout() 定时器 window.setTime ...

  2. JS定时器setTimeout和setInterval介绍

    JS定时器setTimeout和setInterval介绍 JavaScript 定时器,有时也称为"计时器",用来在经过指定的时间后执行某些任务.avaScript 中提供了两种 ...

  3. 定时器setTimeout和setInterval的简单应用

    本文简单利用定时器setTimeout和setInterval举了两个小栗子:定时炸弹和1-100递增 代码如下: <!DOCTYPE html> <html lang=" ...

  4. JS中定时器setTimeout,setInterval,clearTimeout,clearInterval用法

    setTimeout是指过多久执行,只执行一次 setInterval是指每过多久执行一次 clearTimeout是关闭setTimeout定时器 clearInterval是关闭setInterv ...

  5. 清除定时器 和 vue 中遇到的定时器setTimeout setInterval问题

    2019-03更新 找到了更简单的方法,以setinterval为例,各位自行参考 mounted() {const that = thisconst timer = setInterval(func ...

  6. 一次性定时器 setTimeout

    for(var i=0;i<6;i++){setTimeout("console.log(i)",0);} //6,6,6 知识点 定义任务函数:function task( ...

  7. js定时器介绍:倒计时定时器setTimeout、间隔定时器setInterval

    1.定时器介绍 在js里面,有两种定时器:倒计时定时器和间隔定时器  (1)倒计时定时器:倒计时多长时间以后执行函数 语法:setTimeout(要执行的函数,多长时间以后执行) <script ...

  8. 定时器 setTimeout(),setInterval() 清除定时器

    定时器 异步回调函数 callback setTimeout( 函数名,时间 单位是毫秒) 延迟定时器,多久之后动,动完就结束了,定时炸弹 setInterval( 函数名,时间 单位是毫秒) 连续定 ...

  9. 关于定时器setTimeout与setInterval的定时与关闭操作

    setTimeout与setInterval setTimeout只执行一次,主要广泛用于在指定的毫秒(1000ms=1s)后调用函数等.而setInterval则是在相隔指定的周期内循环执行.所以s ...

  10. BOM:window对象的方法之定时器setTimeout()和停止setTimeout()定时器

    window对象提供了两个好用的方法:定时器,分别是: - setTimeout() - setInterval() window.setTimeout(调用函数,[延迟的毫秒数]); 毫秒数如果不写 ...

最新文章

  1. 小程序云开发 一开通云开发,给数据库添加一条记录
  2. 彻底理解C#中值类型和引用类型的区别
  3. Windows Phone版微信,在朋友圈发送仅文本内容
  4. Docker监控方案(TIG)的研究与实践之Grafana
  5. 开发最前沿:项目案例实战之桥模式
  6. Java那些事之多线程
  7. 大学计算机课程操作文档,计算机操作系统大学课程.pptx
  8. nginx安装编译,动态添加模块及其各模块的作用
  9. Apache Ignite的Node.js客户端使用入门
  10. 17.默认值Default.rs
  11. Arrays.sort()用来自定义排序的使用
  12. 获取m,n之间的随机整数
  13. 大数据不背“杀熟”的锅!高科技公司掌握了你的个人信息,都干了些啥?
  14. Script 入门实践
  15. IE6绿色中文版,支持在Win7、Win8下完美运行
  16. JPA的单向一对多关联(oneToMany)实现示例(基于Spring Boot + JPA +MySQL,表自动维护)
  17. [译]Profile and debug your ASP.NET MVC app with Glimpse
  18. Python 代码格式化工具 「Black」 使用详解(摘录翻译自官方文档)
  19. MP4格式转换为AMV格式
  20. 30种SQL查询语句优化方法

热门文章

  1. [Python] 相关性分析
  2. C语言-链表逆序输出
  3. 字符串为null 和 字符串长度为0
  4. 移动端表格 横向纵向自适应
  5. SourceTree的简单使用
  6. 阿里云服务器Ubuntu16.04配置图形界面并远程桌面连接
  7. 【短信】谷歌4.4短信代码学习
  8. mybatis面试题集锦
  9. sublime插件 —— 一键美化HTML/CSS/JS代码
  10. 设计一个好的游戏世界观需要哪些必备要素?