this指向

普通函数this指向

函数的this指向遵循一个基本原则:谁调用的函数,函数的this就指向谁,否则指向全局

1、当直接使用this时,和在全局函数中使用this,this指向window
2、在绑定事件中使用this,this指向被绑定事件的对象(this指向事件源) 3、在对象方法中使用this,this指向对象本身

var name = 'window'
let obj1 = {
  name: 'obj',
  sayHi: () => {
    console.log(this.name)
  },
  sayFoo: () => {
    return () => {
      console.log(this.name)
    }
  }
}

普通函数与箭头函数组合使用

var name = 'window'
let obj2 = {
  name: 'obj',
  sayHi: () => {
    return function () {
      console.log(this.name)
    }
  },
  sayFoo: function () {
    return () => {
      console.log(this.name)
    }
  }
}

 

posted @ 2022-05-10 13:52  mlgnPF  阅读(29)  评论(0)    收藏  举报