定义:调用一个对象的一个方法,用另一个对象替换当前对象
var obj1 = {
name:'yy',
age:20
}
var obj2 = {
name:'yhl',
age:18,
yhlFuntion: function(aa,bb){
console.log('姓名:'+ this.name + '年龄:'+ this.age + '爱好:'+aa +'讨厌:'+ bb)
}
}
obj2.yhlFuntion('打篮球', '吃苹果') //姓名:yhl年龄:18爱好:打篮球讨厌:吃苹果
obj2.yhlFuntion.call(obj1,'打篮球','吃苹果') //姓名:yy年龄:20爱好:打篮球讨厌:吃苹果
obj2.yhlFuntion.apply(obj1, ['打篮球', '吃苹果']) //姓名:yy年龄:20爱好:打篮球讨厌:吃苹果
obj2.yhlFuntion.bind(obj1, '打篮球', '吃苹果')() //姓名:yy年龄:20爱好:打篮球讨厌:吃苹果
call可以传入多个参数
apply只能传入两个参数,第二个参数是作为数组形式传入
bind除了函数调用以外,它的参数和call 一样,加上()自调用