Javascript定时器(二)——setTimeout与setInterval
一、解释说明
1、概述
setTimeout:在指定的延迟时间之后调用一个函数或者执行一个代码片段
setInterval:周期性地调用一个函数(function)或者执行一段代码。
2、语法
setTimeout:
var timeoutID = window.setTimeout(func, delay, [param1, param2, ...]);
var timeoutID = window.setTimeout(code, delay);
- timeoutID 是该延时操作的数字ID, 此ID随后可以用来作为window.clearTimeout方法的参数
- func 是你想要在delay毫秒之后执行的函数
- code 在第二种语法,是指你想要在delay毫秒之后执行的代码
- delay 是延迟的毫秒数 (一秒等于1000毫秒),函数的调用会在该延迟之后发生.但是实际的延迟时间可能会稍长一点
- 标准浏览器与IE10支持第一种语法中向延迟函数传递额外参数的功能
setInterval
var intervalID = window.setInterval(func, delay[, param1, param2, ...]);
var intervalID = window.setInterval(code, delay);
- intervalID 是此重复操作的唯一辨识符,可以作为参数传给clearInterval()。
- func 是你想要重复调用的函数。
- code 是另一种语法的应用,是指你想要重复执行的一段字符串构成的代码
- delay 是每次延迟的毫秒数 (一秒等于1000毫秒),函数的每次调用会在该延迟之后发生。和setTimeout一样,实际的延迟时间可能会稍长一点。
- 标准浏览器与IE10支持第一种语法中向延迟函数传递额外参数的功能
<script type="text/javascript">
setTimeout( function(param){ alert(param)} , 100, 'ok');
</script>
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAACsCAIAAAAbueUQAAAIYklEQVR4nO3cz27bVhrG4XNHvgE1Sbtwsy0CdFPoAtibEGB7I0cief58i5mxEfQOrF1TNGhRN6vWjtMobpEi2wLpzGDqpF24WWQWlFlGViyLPQTFc34PDIGW/dIHhr+IFPlGiUiuba6tiDiRLDfaOBGxTtJMG+tExFiXZto6ERFtXJYb54QgwQCCatHX7PKdysKdEiTYsaDKci0iIpLlevYdTtIsL0bEWBmnmbGz3aVZXs4TQYIBBFWurRNxIrm25VhkudGzeZI017OdWpfl5mK2LEGCAQSViGS5yXJTjEia5eWIjMaz1xJt3Wic2Yt5SrP8Yp4IEux2UDkn2jhtrHNiXTEis3nKtSnmqbqtjcu1tU4IEgwgqMoRSbO8HJHROCteKYyV3dG43N1onJXzRJBgAEGljbNObDEi1jknxoo21lxs59oaK86JsU6b2ba2jiDBAIJKRNJMp5kuxyLXRkSck93RuDyu2h2Ny3PqcrYIEux6UBkrxjpjnbFirOiLjXLbusXPEyQYQFCN0tmIjNMsvXi7dHc0Lk6TrZPh7l1jRURyY3dH49k85ZogwQCCy18BrtwmSLDbwWufA9yte0BGkOAaB+ffBZodRRn315m1qZ5Zz4609KUza4IEuxjkOgDBqIPllWDnFlxds+avq2u23PXbV9cIEuxwsM69QOO6N2YQJLhuQZVr61zdO+wIEux4cHkfYFT35myCBNc/uLAR5qRrxTaCBOsF5wfgH//8187OTgJ03M7Ozt7efrZqJXJ7e/vk5OQN0HHHx8dbW1vLD4FybV2lLZYkSdsrB/xIkkTKk+BrViIZAAQjSZKVK5EMAIKRJEm+aiWSAUAwikOg1SqRDACCkSSJW7USyQAgGEmSrFyJZAAQjCRJ9KqVSAYAwSjOAVarRDIACMa1XgE4B0CornUOwLtACFWSJHbVSiQDgGBc6zrAXFuMAUAwLl0JvkYlkgFAMJIkWbkSyQAgGG/dDXrNSiQDgGAUA7BaJZIBQDCSJFm5EskAIBizAZCFA/COSiQDgGBc6xCISiRCRSUSUaMSiahRiUTUqEQialQiETUqkYgalUhEjUokokYlElGjEomoUYlE1KhEImpUIhE1KpGIGpVIRI1KJKJGJRJRoxKJqFGJXF/9fn9jY6PtVQSOSuRaYwCaRiVyrTEATaMSuUaGw6FSSik1HA6LZ4oB6Pf7SqmDg4NWVxcmKpHrYjqd9vv9Yrvf70+n0zeVAWhzZUGjErkuhsNh+W/8wcFB8SKwsbGhlGIAmkMlcl0cHBxUXwGKYVBKvXl7NuAXlcg1MncOUBz6D4fD4nleB5pAJRJRoxKJqFGJRNSoRCJqVCIRNSqRiBqVSESNSiSiRiUSUaMSiahRiUTUqEQialQiETUqkYgalUhEjUokokYlElGjEomoUYlE1KhEImpUIhE1KpGIGpVIRI1KJKJGJRJRoxKJqFGJRNSoRCJqVCIRNSqRiBqVSESNSiSiRiUSUaMSiahRiUTUqEQialQiETUqkYgalUhErWYl8hcgCDUrkS+BINSsRLa9bMCPmpXItpcN+FGzEtn2sgE/alYi21424EfNSmTbywb8qFmJbHvZgB81K5FtLxvwo2Ylsu1lA37UrES2vWzAj5qVyLaXDfhRsxLZ9rIBP2pWItteNuBHzUpk28sG/KhZiWx72Vjis6+efpx90RtMgvn4OPvis6+eev9F1axEel8HPLr3YHrTfbP53dntn14H87H53dlN9829B1O/v6ualUi/i4Bfd9L7m9+fffr8vO2F+PTp8/PN78/upPf97rZmJdLvIuBXbzC5/ePrtlfh3+0fX/cGE7/7rFmJ9LsI+FUMwFlwGhoAKpGhKQbgt2YopWp/9W9qaACoRIamN5h8ePrn/3xQFe965nLEy4++7MPTP5sYgOXXAahEdksxAP/1Ryk1tzH35NV8LaOhAaASGZrmBmDhM1f/ia//AFCJDE1vMNk8Pf+PJ0qp6vYcXz/lOjZPzxs6BKISGZTeYLL59PzfnpR/68V2+Vj99Gq+VrL5tKkBoBIZlN5g8sHjP577UPwFFxvlp1ULI15+9GUfPP6jiQGgEhma3mDy/snvP3uilFr4WN1415N+vX/ye1MDIAsHgEpkNxUD8MwTpVT1cc7ct13+Hl/LePbsWUMDsPwQiEpkt/QGk1snr37ypPxTLrbLx+rGu57069bJq2ZPgqlEhsH7ACx8vLwx91XvGhoAKpGh6Q0mtx69OvVNKTX3afFM9fmF7wL5WsCtR40MAJXI0PQGk5vHL6fBuXn8sp1bIbgZrluKAfghOA0NAJXI0PQGkxtHZ4+Dc+PorJ3boSnEdMud9P6NwxefHP36KCCfHP164/BFE40wKpGhufdg2tNfv/fti/eOfgvn49sXPf11E51goRIZnr0vn3w0+rz1/8rB48dHo8/3vnzi/RdFJRJRoxKJqFGJRNSoRCJqVCIRNSqRiBqVSESNSiSiRiUSUaMSiahRiUTUqEQialQiETUqkYgalUhEjUokokYlElGrU4nc2tp6+PBh2ysH/q7Dw8OtrS1ZtRK5t7+/vb2dAB23vb29v39v5Upk9fBodzTW1omItm737ri8p2LpcRVBgl0Jzr8LVG2LFSfLubHGinNirNPGGStLa2YECXYlOH8doByR4oqxsbI7GhsrIqKNK+fp6vdWCRLsSnC+Elm9SJZrW+yuuq2NW1ozI0iwK8H5e4Gqt0mMxll5XDUaZ/biuGppzYwgwa4E5yuRUrlRTkSMlTTXs3myLstNseura2YECXYlON8HkMqt0sVOR2lWvqCkWV6eXxMkGEBwvhFWbYulmTaz2XLp7BVGtHFLa2YECXYl+H+iesojfRMQjQAAAABJRU5ErkJggg==" alt="" />aaarticlea/png;base64,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" alt="" />
简单测试了下第五条,在我的电脑上面分别使用firefox与IE9测试,前者可以顺利弹出ok,后者弹出了undefined。
二、“this”问题
由setTimeout()调用的代码运行在与所在函数完全分离的执行环境上. 这会导致,这些代码中包含的 this 关键字会指向 window (全局对象)对象,这和所期望的this的值是不一样的。setInterval的情况类似。
<script type="text/javascript">
//this指向window
function shape(name) {
this.name = name;
this.timer = function(){alert('my shape is '+this.name)};
setTimeout(this.timer, 50);
}
new shape('rectangle');
</script>
aaarticlea/png;base64,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" alt="" />
没有被传进去,分别用chrome,firefox和IE9实验了下,都是这个结果。
解决方法一:
<script type="text/javascript">
function shape(name) {
this.name = name;
this.timer = function(){alert('my shape is '+this.name)};
var _this = this;
setTimeout(function() {_this.timer.call(_this)}, 50);
}
new shape('rectangle');
</script>
设置一个局部变量_this,然后放到setTimeout的函数变量中,timer执行call或apply,设置this值。
function能够调用局部变量_this,多亏了Javascript的闭包。里面涉及了作用域链等知识,有兴趣的可以自己去了解下,这里不展开了。
解决方法二:
这个方法有点高大上。自定义了setTimeout与setInterval。而且还扩展了低版本的IE浏览器,不支持向延迟函数传递额外参数的问题。
<script type="text/javascript">
//自定义setTimeout与setInterval
var __nativeST__ = window.setTimeout, __nativeSI__ = window.setInterval; window.setTimeout = function (vCallback, nDelay /*, argumentToPass1, argumentToPass2, etc. */) {
var oThis = this, aArgs = Array.prototype.slice.call(arguments, 2);
return __nativeST__(vCallback instanceof Function ? function () {
vCallback.apply(oThis, aArgs);
} : vCallback, nDelay);
}; window.setInterval = function (vCallback, nDelay /*, argumentToPass1, argumentToPass2, etc. */) {
var oThis = this, aArgs = Array.prototype.slice.call(arguments, 2);
return __nativeSI__(vCallback instanceof Function ? function () {
vCallback.apply(oThis, aArgs);
} : vCallback, nDelay);
}; function shape(name) {
this.name = name;
this.timer = function(other){
alert('my shape is '+this.name);
alert('extra param is '+ other);
};
}
var rectangle = new shape('rectangle'); setTimeout.call(rectangle, rectangle.timer, 50, 'other');
</script>
1、设置局部变量,赋值为原生的setTimeout与setInterval
2、扩展setTimeout与setInterval,aArgs通过分割arguments这个变量,获取到额外的参数数组
3、用vCallback instanceof Function判断这是不是一个函数或代码,如果是函数就用apply执行
4、setTimeout用call执行,设定this对象,以及其它的func、delay等参数
5、顺便扩展setTimeout,IE低版本的浏览器也能执行额外参数
三、setTimeout与setInterval之间的一个区别
<script type="text/javascript">
setTimeout(function(){
/* Some long block of code... */
setTimeout(arguments.callee, 100);
}, 10); setInterval(function(){
/* Some long block of code... */
}, 100);
</script>
粗看上去,两个功能是差不多的,但是里面其实是不一样的。
setTimeout回调函数的执行和上一次执行之间的间隔至少有100ms(可能会更多,但不会少于100ms)
setInterval的回调函数将尝试每隔100ms执行一次,不论上次是否执行完毕,时间间隔理论上是会<=delay
的。
setInterval:
<script type="text/javascript">
function sleep(ms) {
var start = new Date();
while (new Date() - start <= ms) {}
}
var endTime = null;
var i = 0; setInterval(count, 100);
function count() {
var elapsedTime = endTime ? (new Date() - endTime) : 100;
i++;
console.log('current count: ' + i + '.' + 'elapsed time: ' + elapsedTime + 'ms');
sleep(200);
endTime = new Date();
}
</script>
从firefox的firebug可以查看到,时间间隔很不规则。
情况大致是这样的:由于count函数的执行时间远大于setInterval的定时间隔,那么定时触发线程就会源源不断的产生异步定时事件,并放到任务队列尾而不管它们是否已被处理,但一旦一个定时事件任务处理完,这些排列中的剩余定时事件就依次不间断的被执行。
aaarticlea/png;base64,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" alt="" />
setTimeout:
<script type="text/javascript">
function sleep(ms) {
var start = new Date();
while (new Date() - start <= ms) {}
}
var endTime = null;
var i = 0;
setTimeout(count, 100);
function count() {
var elapsedTime = endTime ? (new Date() - endTime) : 100;
i++;
console.log('current count: ' + i + '.' + 'elapsed time: ' + elapsedTime + 'ms');
sleep(200);
endTime = new Date();
setTimeout(count, 100);
}
</script>
aaarticlea/png;base64,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" alt="" />
demo下载:
http://download.csdn.net/download/loneleaf1/7961057
参考资料:
http://ejohn.org/blog/how-javascript-timers-work/ How JavaScript Timers Work
https://developer.mozilla.org/zh-CN/docs/DOM/window.setTimeout window.setTimeout
https://developer.mozilla.org/zh-CN/docs/Web/API/Window.setInterval Window.setInterval
http://heroicyang.com/2012/09/06/javascript-timers/ 理解JavaScript定时器:setTimeout和setInterval
Javascript定时器(二)——setTimeout与setInterval的更多相关文章
- JavaScript定时器:setTimeout()和setInterval()
1 超时调用setTimeout() 顾名思义,超时调用的意思就是在一段实际之后调用(在执行代码之前要等待多少毫秒) setTimeout()他可以接收两个参数: 1 要执行的代码或函数 2 毫秒(在 ...
- JavaScript 如何使用 setTimeout 实现 setInterval
JavaScript 如何使用 setTimeout 实现 setInterval website multi content page setIntervalSimulator "use ...
- javascript 函数返回值(return)、定时器(setTimeout、setInterval)
一.函数的返回值:return 1.函数名+括号=return后面的值 <script> function fn1(){ return 100; } alert(fn1()); // 10 ...
- Javascript定时器(三)——setTimeout(func, 0)
setTimeout(func, 0)可以使用在很多地方,拆分循环.模拟事件捕获.页面渲染等 一.setTimeout中的delay参数为0,并不是指马上执行 <script type=&quo ...
- JavaScript定时机制setTimeout与setInterval研究
JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行, 我想不少人都深有同感, 例如 setTimeout( ...
- Javascript 定时器的使用陷阱 (setInterval)
setTimeout(function(){ // 其他代码 setTimeout(arguments.callee, interval); }, interval); setInterval会产生回 ...
- js定时器window.setTimeout和setInterval
window.setTimeout(function(){ document.getElementById("editorindex&q ...
- javascript 定时器 timer setTimeout setInterval (js for循环如何等待几秒再循环)
实现一个打点计时器,要求1.从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅为 12.返回的对象中需要包含一个 cance ...
- JavaScript中的setTimeout和setInterval
上一篇博文<浏览器中Javascript单线程分析>中描述了浏览器中Javascript单线程的原理. 在此基础上,这篇文章将主要介绍setTimeout/setInterval是如何模拟 ...
随机推荐
- RHEL6.5及Win7的和谐共处(投机版)
背景: 在Windows XP存在时,装了个RHEL6.5,用的是安装程序自带的Grub,后来将XP删除后重装了Windows7,RHEL的Grub被覆盖,启动不了RHEL了,于是补上RHEL的引导… ...
- UEditor编辑器并不难
1.背景: 其实学习UEditor本该在这之前就应该学习整合到自己的项目中的了,第一次接触UEditor是在暑假期间,当时做东西在师兄的代码中发现了这东西,心想:卧槽,竟然可以这样整合别 ...
- 使用VirtualBox自带管理工具命令为虚拟磁盘扩展空间
VirtualBox虚拟磁盘空间不够了,默认10G.想扩大,图形界面下没有找到可操作菜单.Google了一下用 Vbox自带的命令工具VBoxManage即可解决. C:\Program Files\ ...
- 《理解 ES6》阅读整理:函数(Functions)(七)Block-Level Functions
块级函数(Block-Level Functions) 在ES3及以前,在块内声明一个函数会报语法错误,但是所有的浏览器都支持块级函数.不幸的是,每个浏览器在支持块级函数方面都有一些细微的不同的行为. ...
- wordpress搬家换域名
很多朋友开始接触wordpress都是在本地安装调试好了,再上传到服务器正常运营,我也是一样当我在本地测试好了准备将网站上线,在搬家到服务器的时候遇到过的一些问题,记录分享一下我是如何为wordpre ...
- Android性能优化典范第一季
2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关 ...
- VS2008 Pocket PC 2003 SE仿真程序上网设置
设置大体分为3个步骤:Microsoft ActiveSync安装配置.Pocket PC 2003 SE仿真程序配置.Pocket PC 2003连接到Microsoft ActiveSync. 1 ...
- Asp.net web form url route使用总结
asp.net web form 使用URL路由 注不是mvc中的路由 一.前台控件使用路由,通过表达式生成url地址,注意给路由参数赋值,防止使用了其他路由表达式值方式1:<asp:Hyper ...
- EmberJs之数组绑定@each&[]
写在前面 好长时间没有写博客了,昨天花了些时间又整理了下之前发布过的<Ember.js之computed Property>文章,并创建了一个测试代码库,花了些时间,希望能使用测试代码的方 ...
- Entity Framework 5.0系列之EF概览
概述 在开发面向数据的软件时我们常常为了解决业务问题实体.关系和逻辑构建模型而费尽心机,ORM的产生为我们提供了一种优雅的解决方案.ADO.NET Entity Framework是.NET开发中一种 ...