var A = { a : 'Hi', sayHi : function(){ console.log(this.a) // Hi } } A.sayHi()
因为是A.b调用的这个函数,所以指向b这个对象
1 2 3 4 5 6 7 8 9 10 11 12 13
var a = 'Hello and Hi' var A = { a : 'Hi', b : { a : 'Hello', sayHello : function(){ console.log(this.a) // Hello, // 这里的this指向的对象是b,因为调用这个sayHello()函数是通过b.sayHello()执行的 console.log(this) // b : {sayHello: ƒ} } } } A.b.sayHello()
var a = 'Hello and Hi' var A = { a : 'Hi', b : { a : 'Hello', sayHello : function(){ console.log(this.a) // Hello, // 这里的this指向的对象是b,因为调用这个sayHello()函数是通过b.sayHello()执行的 console.log(this) // b : {sayHello: ƒ} } } } var x = A.b.sayHello // Hello and Hi // window x()