- setInterval(fn ,time) 每隔一段时间做一件事情
- 变量存储时,是一个数组,表示页面当中的第几个定时器
- 定时器是异步的
- 清除定时器 clearInterval(t) 参数t:表示清除第几个定时器
- 代码正常从上往下执行
- 但是也有一些特殊功能不是这样的:(异步)
- 图片的请求 , 数据的请求 需要服务器响应(需要时间)
- 定时器和延时器以及点击事件 -- 都不是立即执行de(需要时间,或者用户)
- 同步先执行
- 异步存放在任务队列中(任务队列不能执行任务,而是任务时间到了之后去主线程上执行)
var t = setInterval(function(){
console.log(666);
},1000)
clearInterval(t)
- 定时器:重复的闹钟
- 延时器:一次性的闹钟
- var setTimeout(fn,time)
- 延时器也是一个异步,变量存储的是第几个闹钟,不分定时器还是延时器
- clearInterval 既可以清除定时器,也可以清除延时器
- clearTimeout 既可以清除延时器,也可以清除定时器
var t2 = setTimeout(function(){
console.log(666);
},1000)
console.log(t2);
clearTimeout(t2)
- 在点击事件里面,绑定是同步的,事件处理函数是异步的
- 在定时器里面,要做的事情是异步的,绑定定时器是同步的
function fn(){
setTimeout(function(){
console.log(666);
fn();
},1000)
}
fn()