js this指向

63 阅读1分钟
function foo() {
  console.log(this.a)
}
var a = 1
foo() //直接调用,输出的是1,因为this是windows

const obj = {
  a: 2,
  foo: foo
}
obj.foo() //作为对象的方法调用,输出的是2,因为this 是 obj这个对象

const c = new foo() //输出的是undefined,因为this是c这个实例,它并没有a属性