apply ,call 区别 以及 apply特性的妙用

2016-09-08  本文已影响21人  strong9527

call 和 apply 都是为了改变某个函数运行时的 context 即上下文而存在的,换句话说,就是为了改变函数体内部 this 的指向;
而在参数方面两个方法也有区别:


function fun(){
    ////
}

func.apply(this,[arg1,arg2]);
func.call(this,arg1,arg2);


我们看到两个方法的参数不同但是效果是一样的。

也就是说在运用apply的时候他会把数组拆分为它的每一个内容

[1,2,3] => 1,2,3

所以当我们遇到 Math.min(arg1,arg2,arg3) 不支持传入数组参数的方法我们可以用apply方法拆分数组。

var a = [1,2,3];
Math.min.apply(null,a);
//这样就达到了选出数组中最小数字的目的。非常方便。
上一篇下一篇

猜你喜欢

热点阅读