apply和call两者作用上是相同的,但参数上有区别的。其解释:
应用某一对象的一个方法,用另一个对象替换当前对象。
对于第一个参数意义都一样,但对第二个参数:
apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入,而call则作为call的参数传入(从第二个参数开始)。
如 fun1.call([thisObj[,参数1,参数2,参数3,...,参数n]])对应的apply写法为:fun1.apply([thisObj[,参数数组]])
同时使用apply的好处是可以直接将当前函数的arguments对象作为apply的第二个参数传入