JS的call应用

今天研究了一下js的call相关的知识,以前见过但是不理解,今天了解了一下call的初级应用,这里给自己留个备忘.

call是被方法调用的如

function fn(){

//一些操作

处理this.a

处理this.b

处理this.c

}

fn.call(someObject,arg1,arg2,.....);

这样程序会将someObject传递给fn这个方法中,运行,这时在fn中的this 就是变成了someObject这个对象了,这样,相当于利用fn这个方法处理someObject这个对象.

来个具体点的例子

 

 

function fa(i,j ,k) {
this.a = i;
this.b = j;
this.c = k;
alert(this.d);
}

function obj()
{
this.a=undefined;
this.d = 12345;
}

var o = new obj();

//直接执行

fa(1, 2, 3); //弹出undefined

alert(o.a);//弹出 undefined

alert(o.b);//弹出 undefined
alert(o.c); //弹出 undefined

fa.call(o,1, 2, 3 ); // 弹出12345

alert(o.a);// 弹出1
alert(o.b);// 弹出2
alert(o.c); // 弹出3

 

 

 

 

posted @ 2014-10-17 13:57  x4646  阅读(156)  评论(0编辑  收藏  举报