Timer机制
这里所说的Timer机制是定时器(Timer),例如在Javascript中就提供定时执行代码的功能。但是在C++标准中暂时没有实现这一功能的函数。
Javascript中的Timer
Javascript用来处理延时和定时任务的setTimeOut和setInterval函数应用非常广泛,它们都用来处理延时和定时任务,比如打开网页一段时间后弹出一个登录框,页面每隔一段时间发送异步请求获取最新数据等等。但它们的应用是有区别的。
setTimeout
setTimeout函数用来指定某个函数或某段代码,在多少毫秒之后执行。它返回一个整数,表示定时器的编号,以后可以用clearInterval来取消这个定时器。setTimeout只执行一次。
var timeId=setTimeout(func|code,delay) //间隔delay毫秒执行函数func或者code
比如下面这段代码:
console.log('First');
setTimeout('console.log('Second')',1000);
console.log('Third');
的执行结果是先打印出"First与Third",然后再1000ms之后打印出"Second"。
而在传入函数的时候,我们还可以增加参数:
setTimeout(function(a,b,c){console.log(a+b);console.log(c);},1000,1,1,5);
此外,如果被setTimeout推迟执行的回调函数是某个对象的方法,那么用到的this关键字将指向全局环境:
var x = 1;var o = {x: 2,y: functi