一次性定时器 setTimeout(function () {}, time),time的单位为毫秒,意为几毫秒执行一次,最小时间为4ms;
定时器都是异步执行的,一步程序不会阻塞后续代码执行;
一步程序必须等阿迪所有同步程序全部执行完成才能执行;
var timer1 = setTimeout(function () {
console.log('setTimeout执行了');
}, 1000); // 定时器隔秒执行一次,setTimeout属于一次性定时器,只执行一次
// timer 接收的是定时器返回的具有唯一表示的序号
清除定时器或者停止定时器clearTimerout(定时器序号):clearTimeout(timer1);
无限次定时器 setInterval(function () {}, time);time的单位为毫秒,意为几毫秒执行一次,最小时间为10ms;
var n = 0;
var timer2 = setInterval(function () {
console.log('setInterval执行了');
if (n > 5) { // 无限次循环定时器setInterval会持续不断的每2秒执行一次,给定判断条件,在满足条件时终止循环
clearInterval(timer2);
return; // 对回调函数function做出返回输出
}
n++;
console.log(n);
}, 2000);