setTimeout和setInterval
本来这两个也没什么好说的 用法之类的自行看文档
这里说说用setTimeout模拟setInterval
为什么要模拟呢.用过setInterval的人可能会有这个需求
- 看原因
setInterval指定的是,“开始执行”之间的间隔,因此实际上,两次执行之间的间隔会小于setInterval指定的时间。假定setInterval指定,每100毫秒执行一次,每次执行需要5毫秒,那么第一次执行结束后95毫秒,第二次执行就会开始。如果某次执行耗时特别长,比如需要105毫秒,那么它结束后,下一次执行就会立即开始。
var i = 1;var timer = setInterval(function() {alert(i++);}, 2000);
上面代码每隔2000毫秒,就跳出一个alert对话框。如果用户一直不点击“确定”,整个浏览器就处于“堵塞”状态,后面的执行就一直无法触发,将会累积起来。举例来说,第一次跳出alert对话框后,用户过了6000毫秒才点击“确定”,那么第二次、第三次、第四次执行将累积起来,它们之间不会再有等待间隔。
- 为了确保两次执行之间有固定的间隔上面的代码可以改写成如下
var i = 1; var timer = setTimeout(function() {alert(i++);timer = setTimeout(arguments.callee, 2000); }, 2000)
最后
- 看用setTimeout模拟setInterval 代码
function interval(func, wait){var interv = function(w){return function(){setTimeout(interv, w);func.call(null);}}(wait);setTimeout(interv, wait); }interval(function(){console.log(2); },1000);
转载于:https://www.cnblogs.com/moli-/p/11130452.html
setTimeout和setInterval相关推荐
- javascript requestAnimationFrame 解决 setTimeout、setInterval 时间不准的方法。
javascript requestAnimationFrame 解决 setTimeout.setInterval 时间不准的方法. 取代 setInterval <!DOCTYPE html ...
- setTimeOut()和setInterval()的用法
setTimeOut()和setInterval()的用法 setTimeOut(function(){},1000); 在特定时间之后调用函数,只调用一次 setInterval(function( ...
- setTimeout和setInterval实现定时器的区别
这两个方法都能够用来实现在一个固定时间段之后去运行JavaScript.只是两者各有各的应用场景. 方 法 实际上,setTimeout和setInterval的语法相同.它们都有两个参数,一个是将要 ...
- js中计时器setTimeout、setInterval、requestAnimationFrame区别
转载自:https://www.cnblogs.com/xiaohuochai/p/5777186.html 本文仅用于作为学习笔记 计时器一直是javascript动画的核心技术.而编写动画循环的关 ...
- setTimeout和setInterval的使用
(节选自JavaScript精粹) 这两个方法都可以用来实现在一个固定时间段之后去执行JavaScript.不过两者各有各的应用场景. 方 法 实际上,setTimeout和setInterval的语 ...
- JavaScript———从setTimeout与setInterval到AJAX异步
setTimeout与setInterval执行 首先我们看一下以下代码打印结果 1 2 3 4 5 6 7 console.log(1); setTimeout(function() { conso ...
- js的事件循环机制:同步与异步任务(setTimeout,setInterval)宏任务,微任务(Promise,process.nextTick)...
javascript是单线程,一切javascript版的"多线程"都是用单线程模拟出来的,通过事件循环(event loop)实现的异步. javascript事件循环 事件循环 ...
- setTimeout和setInterval你真的了解吗?
setTimeout和setInterval这两个函数, 大家肯定都不陌生, 但可能并不是每个用过这两个方法的同学, 都了解其内部的实质, 甚至可能会错误的把两个实现定时调用的函数理解成了类似thre ...
- js中setTimeout的用法和JS计时器setTimeout与setInterval方法的区别和confirm方法
setTimeout()在js类中的使用方法 setTimeout (表达式,延时时间) setTimeout(表达式,交互时间) 延时时间/交互时间是以豪秒为单位的(1000ms=1s) setTi ...
- setTimeout 和 setInterval
由于 JavaScript 是异步的,可以使用 setTimeout 和 setInterval 来计划执行函数. 注意: 定时处理不是ECMAScript 的标准,它们在DOM (文档对象模型) 被 ...
最新文章
- vc 获取月份的天数_「青少年编程」课程:输入年份与月份,得到该月有多少天...
- JSP简单练习-页面重定向
- Qt Creator建立一个通用项目
- axios怎么封装,才能提升效率?
- matlab常用函数辨析
- TSAP传输服务访问点
- 关于下一代IM服务器的一点想法
- 7-2 是否完全二叉搜索树 (30分)
- UE4中多种颜色轮廓线的后期处理
- VC中自动改变控件位置和大小的对话框类
- PAIP.利用SyncML协议来同步备份手机短信联系人.txt
- 如何只用HTML创建一个时间计划表?
- 轻博客之点点推他模式分析
- 老大难的GC原理及调优,这下全说清楚了
- Intel汇编-传送MMX整数
- unity URP内置shader lit解析
- anaconda创建虚拟环境Solving environment: failed
- Nginx系列:后端服务应用健康检测
- 使用云服务器创建网站(完整开发过程)
- 如何进行时间管理-“Do it now”读后感
热门文章
- 程序员想早点下班被经理拒绝,一气之下要辞职,经理慌了
- python和java语言的区别
- 河北外国语学院计算机宿舍,河北外国语学院宿舍怎么样 住宿条件好不好
- python php 序列化,序列化和反序列化的详细介绍
- Flash开发iOS应用全攻略(四)——如何为iTunes Connect准备应用
- Android 7.0后 播放U盘中的视频文件的解决方案
- php的limit分页,用php数组的array_slice分页和用limit查询分页哪个效率更高?
- r语言和python爬虫谁厉害_R语言中,RCurl优势在哪儿,做爬虫的话用Python还是RCurl效率高?...
- sv信道模型是什么_Unity Shader|基本光照模型实现中遇到的疑思
- 嵌入式Linux入门6:u-boot移植