一:两种定时器
setTimeout() 延迟定时器
setInterval() 循环定时器(‘间隔器’)
定时器中的函数挂载在window对象上,内部的this指向window
setTimeout(function(){
console.log(111);
},1000) //一秒钟打印出111
setInterval(function(){
console.log(111);
},1000) //每隔一秒钟打印出111
二:定时器函数的参数
1、第一个参数是执行的函数,必须传递,不传没什么意义,会报错
2、第二个参数为定时器执行的毫秒数,可以不传
3、第三个之后的所有参数,都将是第一个参数函数执行的实参
//没有第二个参数会立即执行
setTimeout(function(){
console.log(111);
})
setTimeout(function(a,b){
console.log(a,b);
},1000,10,20)
HTML5标准规定了setTimeout()的第二个参数的最小值(最短间隔),不得低于4毫秒,如果低于这个值,就会自动增加,在此之前,老版本的浏览器都将最短间隔设为10毫秒,不同的浏览器实现不同
三:清除定时器
每一个定时器开启后,都会返回一个对应的id,通过这个id就可以清除定时器
clearTimeout(timer) ====> 用于清除setTimeout
clearInterval(timer) ====> 用于清除setInterval
//在开启定时器的同时定义一个变量接受定时器返回的id,用于清除定时器 var timer=setTimeout(function(){ console.log(111); },1000) clearTimeout(timer); var timer2=setInterval(function(){ console.log(111); clearInterval(timer2); },1000)