函数体内的this
对象,就是定义时所在的对象,而不是使用时所在的对象。
箭头函数本身没有this,this继承上级的this。
定时器中箭头函数的this指向包含定时器的函数,所以定时器中的箭头函数要使用外层this的时候,不用借that传递了,正常使用即可
1 // 为避免频繁点击触发事件,点击之后禁用点击事件,1.5秒后解除 2 $('#refresh').click(function () { 3 $(this).css('pointer-events', 'none') 4 //定时器的this指向window,箭头函数没有this,使用外层函数的this,所以在定时器中用this指向了外层的this 5 setTimeout(() => { 6 $(this).css('pointer-events', '') 7 }, 1500) 8 })
http://es6.ruanyifeng.com/#docs/function#%E7%AE%AD%E5%A4%B4%E5%87%BD%E6%95%B0