简介
定时器不仅会在面试中基础考点中会碰到,也会在项目中会起到实时刷新的作用,所以还是比较常用的一个语法知识,并且定时器都会伴随着箭头函数一起使用,本篇文章仅仅扩展定时器的箭头函数指向问题。
定时器
1. setTimeout()
1.1 作用:延迟定时器,只会循环一次。
1.2
普通函数用法:
var timer1=setTimeout(function(){
console.log('我是延迟定时器')
},1000)
箭头函数用法:
var timer1=setTimeout(()=>{
console.log('我是延迟定时器')
},1000)
1.3 清除定时器(定时器是直接执行的,为了优化性能在使用完每一帧定时器都要清除掉,因此要命名并方便后续清除):
clearTimeout(timer)
2.setInterval()
1.1 作用:循环定时器,循环多次
1.2
普通函数用法:
var timer2=setInterval(function(){
console.log('我是循环定时器')
},1000)
箭头函数用法:
var timer2=setInterval(()=>{
console.log('我是循环定时器')
},1000)
2.3 清除定时器:
clearInterval(time2)
3.关于定时器的参数
定时器可以接收多个参数:
第一个参数:执行的函数,不可省略。
第二个参数:定时器所执行的毫秒数,可省略。
第三个参数及之后的参数:都将是第一个参数函数执行的实参
定时器的箭头函数指向
1.1 箭头函数是ES6提出函数语法糖,可以简化普通函数的写法,并且与普通函数的区别为:箭头函数中的this指向是固定不变的,一直指向的是定义函数的环境。
1.2 没有特殊情况时,setInterval和setTimeout的回调函数中this的指向都是window,因此箭头函数通常可伴随着定时器一起使用。