JavaScript之定时器
原文链接: JavaScript之定时器
setInterval和setTimeout的区别,
setTimeout(function(){
/* Some long block of code... */
setTimeout(arguments.callee, 10);
}, 10);
setInterval(function(){
/* Some long block of code... */
}, 10);
看第一眼,会觉得这两段代码功能相同,实际上,他们是不同的。
需要注意到,setTimeout的回调函数的执行总是保证了至少10ms的间隔(与上一个回调的执行相比,实际执行时,这个间隔可能变长,但是不可能更少),但是setInterval会尝试每隔10ms执行一次回调,不管上一个回调函数时候已经执行完毕。(很多类库的动画都是使用的setTimeout实现)
window定时器
setIntval
(表达式,毫秒)clearIntval
(定时器对象)setTimeout
(表达式,毫秒)clearTimeout
(定时器对象)
setTimeout
(表达式,毫秒):是指经过指定时间后执行事件一次清除定时器:
在创建定时器的时候 把创建的结果赋给一个定时器变量 比如:
var clock = windows.setTimeout()
再用cleraTimeout(clock);
//定一段时间后执行某一个函数
function t(){
window.location.href = 'http:///www.baidu.com';
}
window.setTimeout('t()',10*1000);//setTimeout只是执行一次
//用setTimeout来实现每隔5秒执行某一个一次 放到函数里面可以做到
setTimeout
实现每隔几秒执行一下
function t(){
// window.location.href = 'http:///www.baidu.com';
window.setTimeout('t()',2*1000);
console.log("timeout 2s")
}
t();
setIntval
每隔指定时间执行一次事件
- 碰到每隔几秒执行一次事件的 推荐用setInterval
```javascript
function t(){
alert('2秒到');
}
var clock = window.setInterval('t()',2000);//clock命名为了后面消除定时器用到 这个变量是指向定时器
function t1(){
clearInterval(clock);
}
```