//定义对象的方法,不可以使用箭头函数,调用cat.jumps时候如果是普通的函数,this将指向cat,使用箭头函数的话this指向了全局对象,因此不会得到预期的效果.
//这是因为对象不构成单独的作用域,导致jumps箭头函数定义时的作用域就是全局作用域
const cat = {
lives: 9,
jumps:()=>{
this.lives--
}
}
// 这样写会报错,button的监听函数是一个箭头函数,导致里面的额this就是全局对象,如果改成 普通的函数,this就是button对象
var button = document.getElementById('press')
button.addEventListener('click',()=>{
this.classList.toggle('on')
})
不能使用箭头函数的额地方
最新推荐文章于 2023-03-31 01:33:30 发布