1. 在回调函数中使用this:
1. 对象的方法直接作为回调函数会丢失对象
1.2. 实例
写下如此调用代码: 函数(对象B.回调函数), 我们想让回调函数中的this指向对象B
但实际上回调函数中的this为undefined
1.1. 解决方案: 用匿名函数作为回调函数, 然后在匿名函数中调用方法
即函数(function(){对象B.回调函数})
2. function定义的匿名函数会屏蔽外部对象
2.1. 解决方案: 用js 箭头函数作为回调函数
即this.带回调函数的方法((参数)=>{代码})
实例
在方法method中写下如此调用代码:
class Test(){
属性A: 666
带回调函数的方法(回调函数){}
method(){
/*想要在回调函数中使用外部this*/
this.带回调函数的方法(function(){
this.属性A //报错,显示此处隐藏了外部"this"
})
this.带回调函数的方法(()=>{
this.属性A //成功访问到666,箭头函数内部的this都被绑定为外部的this
})
}
}