标签:函数 代码 this 调用 new 方法 call pre his
感觉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)")
标签:函数 代码 this 调用 new 方法 call pre his
原文地址:http://www.cnblogs.com/johnLaoZhang/p/6038086.html