this指的是包含它的函数作为方法被调用时所属的对象
在对象方法中的 this,this 的绑定只受最靠近的成员引用的影响,总结就是就近原则。
function sayName() {
console.log(this.name);
}
let obj = {
aa: {
name: 'aa',
sayName: sayName,
bb: {
name: 'bb',
sayName: sayName,
cc: {
name: 'cc',
sayName: sayName
}
}
}
};
obj.aa.sayName();===>输出aa
obj.aa.bb.sayName();===>输出bb
obj.aa.bb.cc.sayName();===>输出cc
在对象方法中的 this,this 的绑定只受最靠近的成员引用的影响,总结就是就近原则。
function sayName() {
console.log(this.name);
}
let obj = {
aa: {
name: 'aa',
sayName: sayName,
bb: {
name: 'bb',
sayName: sayName,
cc: {
name: 'cc',
sayName: sayName
}
}
}
};
obj.aa.sayName();===>输出aa
obj.aa.bb.sayName();===>输出bb
obj.aa.bb.cc.sayName();===>输出cc