1、setTimeout:在指定的毫秒数后,将定时任务处理的函数添加到执行队列的队尾。
2、setInterval:按照指定的周期(以毫秒数计时),将定时任务处理函数添加到执行队列的队尾。
setTimeout与setInterval且都是异步的, 调用setTimeout时候,会有一个延时事件排入队列;
Javascript最基础的异步函数是setTimeout与setInterval,setTimeout会在一定的时间后执行相应的函数,它接受一个回调函数和一个毫秒时间,如下:

console.log( "a" );

setTimeout(function() {

console.log( "c" )

}, 500 );

setTimeout(function() {

console.log( "d" )

}, 500 );

setTimeout(function() {

console.log( "e" )

}, 500 );

console.log( "b" );
控制台先输出“a”、“b”,大约500毫秒后,再看到“c”、“d”、“e”。你可能 听过事件循环这个词,它是用于描述队列的工作方式的。当异步函数执行时,回调函数就会被压入这个队列里面,javascript引擎直到异步函数执行完, 才会开始出来这个事件循环,这意味着javascript也并不是多线程的,事件循环是一个先进先出的(FIFO)队列,这说明回调是按照他们被加入队列 的顺序执行的(在相同的情况下。),但是如果延迟时间不一样的话,那么就不会了,就像上面的列子把定时毫秒数改大点输出来的就不一样了。

转载于:https://www.cnblogs.com/sheting/p/5601305.html

setTimeout setInterval相关推荐

  1. js 定时器(setTimeout/setInterval)出现变量未定义(xxx is not defined) 的解决方法

    js 定时器(setTimeout/setInterval)出现变量未定义(xxx is not defined) 的解决方法 参考文章: (1)js 定时器(setTimeout/setInterv ...

  2. setTimeout,setInterval你不知道的事

    javascript线程解释(setTimeout,setInterval你不知道的事) 标签: javascript引擎任务浏览器functionxmlhttprequest 2011-11-21 ...

  3. js获取今天剩余时间_js动画,setTimeout/setInterval的不准确

    先mark,后期在丰富... 1.前言 css能满足绝大多数的动画,但是还是有一小部分需要用到js.例如scroll setTimeout/setInterval的不准确 大家都知道.下面重点说说 r ...

  4. setTimeout/setInterval与requestAnimationFrame的区别?

    提到 setTimeout/setInterval 以及 requestAnimationFrame,大家的第一反应是动画相关的两个 API. 什么是web 动画 我们来谈谈什么是动画.动画其实是一种 ...

  5. window对象方法之setTimeout(),setInterval()

    window中的这两个方法是比较重要的,在许多的设计中会使用到这两个方法.比如使用在倒计时抢购中. 首先来说说这两个方法的用法吧! 一:window.setTimeout(); setTimeout( ...

  6. setTimeout() setInterval()

    本篇文章,小编将为大家介绍Js中setTimeout()和setInterval() 何时被调用执行的用法,有需要的朋友可以参考一下 定义setTimeout()和setInterval()经常被用来 ...

  7. JavaScript——定时器(setTimeout/setInterval)

    基本概念 js 定时器有以下两个方法: setInterval() :按照指定的周期(以毫秒计)来调用函数或计算表达式.方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭. ...

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

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

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

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

最新文章

  1. IoU、GIoU、DIoU、CIoU损失函数的那点事儿
  2. c++ 返回对象的引用要小心
  3. java代码内创建mysql索引_Java Mysql数据库创建视图、索引、备份和恢复
  4. 「每周CV论文推荐」 初学深度学习活体与伪造人脸检测必读的文章
  5. 个人副业在家可做大学生首选小程序创业项目
  6. 一个项目从开工到交付使用需要经历的过程
  7. Linux中快捷键的使用,who命令,rm命令,ps命令,cd命令,kill命令,find命令,grep命令,tar命令(gz、tar、bz2),用户管理,vim部分配置,相关命令
  8. 自学python系列14:映像,集合类型-集合类型
  9. Cube Or 北方大学生训练赛
  10. 脚本不得关闭非脚本打开的窗口。_selenium自动化测试:2.录制和导出脚本
  11. 实例解读:如何减少Docker中的Java内存消耗
  12. 绿盟漏洞扫描_二十周年专题|绿盟极光,用专注惊艳了时光
  13. windows下Eclipse调试ffmpeg
  14. 继续南山聊代码!Apache Kafka × Apache Flink Meetup · 深圳站
  15. GitLab non-standard SSH port
  16. C#中的线程lt;一gt;
  17. JS 增加或减少时间(根据天、小时、分钟、秒)
  18. 全国计算机等级考试三级数据库技术(十)
  19. android绘制半圆弧线_android实现简单圆弧效果
  20. php取word表格一行内容,如何提取出word表格中的内容 值得一看

热门文章

  1. 《软件工艺师:专业、务实、自豪》一第3章
  2. 考试系统—— 刷新页面 考试剩余时间不重新开始
  3. Asp.net MVC 学习之路-003(增删改查,后端手工,前端生成)
  4. weblogic服务器启动报错
  5. jQuery的ajax()、post()方法提交数组,参数[] 问题
  6. 使用无限生命期Session的方法
  7. linuxHacks中记载的一些小技巧
  8. 去除win7桌面快捷方式小箭头
  9. 认识flex中的sprite
  10. 教你自己制作Vista与DOS双系统