console.log(this) //window
console.log(window) //window
var a = 1
console.log(this.a) //1
console.log(window.a) //1
由上面可以知道,当我们直接打印this和window的时候他们都是指向的window,所以当我们定义了变量a的时候this.a以及window.a都可以调用的到
var a = {
b:1,
c:function(){
console.log(this.b)
}
}
a.c()// 1
由上面可以知道,当我们调用对象a中的方法c来输出b的时候是可以得到它的值,由此可以判断方法c中的this指向的是调用它的对象a
综上所述,this他将会指向调用它的那个对象,但是要注意一点的是,他们必须是紧邻关系,例如:window.a.c()中c()指向的是对象a而不是window