js中call/apply分析

二者异同点:

apply与call的区别最明显是第二个参数不同。apply是 数组或者arguments 对象。而call是逗号隔开的任何类型。

二者相同点:

它们都可以修改函数默认的this指向问题。

如 例1:

function show(){

  alert(this);

}

结果:window。

 

例2:function show(a,b){

 

  alert(this);

 

}

show.call('123',23,45);

或:show.call('123',[23,45]);

结果:123   23  45 

这里this通过call方法修改成了参数。

 

 

 

posted @ 2013-07-29 23:13  湖蓝  阅读(604)  评论(0编辑  收藏  举报