JS

1. 实际运用经验:

  1. this一般用在类的方法中, 如果不是, 就最好不要用了

1. 梗概:

面向对象语言中 this 表示当前对象的一个引用。

但在 JavaScript 中 this 不是固定不变的,它会随着调用环境的改变而改变。

  1. 通过类调用,this 表示该类
  2. 通过对象调用方法,this 表示该对象。
  3. 在全局作用域下调用,this 表示全局对象
  4. 在事件中,this 表示接收事件的元素。
  5. 类似 call() 和 apply() 方法可以将 this 引用到任何对象。

js全局对象

3. 存在的问题:

child::回调函数引起this的问题

更改this指向:

2. 菜鸟教程官方文档

[JavaScript this 关键字 | 菜鸟教程 (runoob.com)](https://www.runoob.com/js/js1. this.html)

示例

class c1 {
  log() {
    console.log(this);
  }
}
let temp = new c1().log;
temp(); // undefined