call和apply的运用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的运用的主要内容,如果未能解决你的问题,请参考以下文章

如何理解和熟练运用js中的call及apply?

理解和运用javascript中的call及apply

如何理解和熟练运用js中的call及apply?

理解和熟练运用js中的call及apply

call 和 apply方法解析

js兵器谱之魔法召唤师:call / apply