凡是函数作为独立函数调用,无论它的位置在哪里,它的行为表现,都和直接在全局环境中调用无异

当函数被一个对象“包含”的时候,我们称函数的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