首页 > 代码库 > call和apply的运用

call和apply的运用

感觉call和apply就是继承的时候,可以指向的函数不同来传递参数,调用方法,看代码

    function f1() {
this.p="1---";
this.A=function (arg) {
alert(this.p+arg)
}
}
function f2() {
this.p="2---";
this.B=function (arg) {
alert(this.p+arg)
}
}
// 实例化f1这个函数
var fn1=new f1();
var fn2=new f2();
// 调用A方法,使用apply指向fn1这个实例化的对象,传递参数
fn1.A.apply(fn1,["this is apply (fn1)"]) //1---1
// 调用A方法,使用apply指向fn2这个实例化的对象,传递参数
fn1.A.apply(fn2,["this is apply (fn2)"]) //2---1

// 调用B方法使用call指向fn1这个实例化的对象,传递参数
fn2.B.call(fn1,"this is call (fn1)")
// 调用B方法使用call指向fn2这个实例化的对象,传递参数
fn2.B.call(fn2,"this is call (fn2)")

call和apply的运用