定时器:setInterval() - 间隔指定的毫秒数不停地执行指定的代码。
延时器:setTimeout() - 在指定的毫秒数后执行指定代码。
定时器与延时器均为异步程序,放在异步队列里执行!
敲黑板:重点来了!重点来了!重点来了!
定时器异步的执行本质是:匿名函数里的代码异步执行
setTimeout(function(){
console.log(1);
},4000)
setTimeout(function(){
console.log(1);
},4000) //执行结果:4s后控制台上同时打印出两个1
//开启了2个延时器(相当于在告诉系统:4s后执行代码),这两个延时器被放在等待队列里,在普通队列的代码执行完后4s后同时执行console.log(1);
例子1:
for (var i = 1; i <= 5; i++) {
setTimeout( function timer() {
console.log(i);
}, 1000 );
} //结果:输出五次6
解析:定时器为异步事件,所以每次for循环执行到定时器的时候,开启定时器后,把它放到异步等待队列中,循环中共开启5个定时器,等待循环执行完毕后,i变为6,所以输出5个6(1000毫秒后,5个6同时输出,再次验证了