call()和apply()的区别?

68 阅读1分钟

那对于上篇文章讲到的call()和apply()方法异常相似。 那这篇就来说说区别。 它们的作用一模一样,区别仅在于传入参数的形式的不同。

  • aply接受两个参数,第一个参数指定了函数体内this对象的指向,第二个参数为第一个下标的集合,这个集合可以为数组,也可以为类数组,apply方法把这个集合中的元素作为参数传递给被调用的函数。
  • call传入的参数数量是不固定的,跟apply相同的是,第一个参数也是代表函数体内this指向,从第二个参数开始往后,每个参数被依次传入函数。