JS

1. 实际运用经验:

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

1. 梗概:

  • 最终调用函数(或方法)前用.绑定了什么对象
    1. 通过类调用,this 表示该类
    2. 通过对象调用方法,this 表示该对象。
    3. 如果没有绑定则返回
    4. 严格模式:undefined
    5. 非严格模式:全局对象
    6. 在事件中的回调函数中this 表示接收事件的元素。
  • 保存到变量中的函数,是不会保存绑定的this对象的
  • 如果这个函数是方法,则因为ES6规定的方法内代码都是严格模式下执行的,所以为undefined
    • 示例:

      变量保存函数导致绑定丢失示例

      示例

      class c1 {
        log() {
          console.log(this);
        }
      }
      let temp = new c1().log;
      temp(); // undefined
      指向原始笔记的链接

js全局对象

3. 存在的问题:

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

更改this指向:

2. 菜鸟教程官方文档

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