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