凡是函数作为独立函数调用,无论它的位置在哪里,它的行为表现,都和直接在全局环境中调用无异
当函数被一个对象“包含”的时候,我们称函数的this被隐式绑定到这个对象里面了
var obj = {
a: 1,
fire: function () {
console.log(this.a)
}
}
obj.fire(); // 输出1
在一串对象属性链中,this绑定的是最内层的对象 在隐式绑定中,如果函数调用位置是在一串对象属性链中,this绑定的是最内层的对象。
var obj = {
a: 1,
obj2: {
a: 2,
obj3: {
a:3,
getA: function () {
console.log(this.a)
}
}
}
}
obj.obj2.obj3.getA(); // 输出3
评论(0)