this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象
如果函数中包含多个对象,尽管这个函数是被最外层的对象所调用,this指向的也只是它上一级的对象
var a = '11111';
var obj = {
a: '22222',
b: {
a: '333333',
fun: function () {
console.log(this.a); // 333333
return a
}
}
}
var fun = obj.b.a;
console.log(fun); // 333333
console.log(obj.b.fun()); // 11111