直接贴代码,后解说,编程就是这样,先应用,后理解
var person = {
    fullName: function() {
        return this.firstName + " " + this.lastName;
    }
}
var person1 = {
    firstName:"Bill",
    lastName: "Gates",
}
var person2 = {
    firstName:"Steve",
    lastName: "Jobs",
}
person.fullName.call(person1);  // 将返回 "Bill Gates"要理解上面的3个概念首先要理解this关键字
this 是什么?
JavaScript this 关键词指的是它所属的对象。
它拥有不同的值,具体取决于它的使用位置:
- 在方法中,this 指的是所有者对象。
- 单独的情况下,this 指的是全局对象。
- 在函数中,this 指的是全局对象。
- 在函数中,严格模式下,this 是 undefined。
- 在事件中,this 指的是接收事件的元素。
像 call() 和 apply() 这样的方法可以将 this 引用到任何对象。
| 方法 | call | apply | bind | 
| 方法参数 | 多个 | 单个数组 | 多个 | 
| 方法功能 | 函数调用改变this指向 | 函数调用改变this指向 | 函数调用改变this指向 | 
| 返回结果 | 直接执行 | 直接执行 | 返回待执行函数 | 
| 低层实现 | 通过eval | 通过eval | 间接调用apply | 










