需要通过函数的对象来调用:fun.call()和fun.apply()
-->当对函数调用call()和apply()都会调用函数执行
-->在调用call()和apply()可以将一个对象指定为第一个参数,此时这个对象将会成为函数执行的this
-->call()方法可以将实参在对象之后依次传递
-->app()方法需要将实参封装到一个数组中统一传递,使用call()和apply()调用时,this是指定的那个对象
function fun(a,b){
console.log(this.name)
console.log('a = '+a)
console.log('b = '+b)
}
var obj1 = {
name : 'obj1',
sayname : function(){
alert(this.name)
}
}
var obj2 = {
name : 'obj2',
sayname : function(){
alert(this.name)
}
}
fun.call(obj1,2,3)
fun.apply(obj2,[5,6])