Apply()

Function.proptotype.apply(thisArg, [argsArray])

  • thisArg 可选的。在 func 函数运行时使用的 this 值。
  • argsArray
    可选的。一个数组或者类数组对象,其中的数组元素将作为单独的参数传给 func 函数。

call()方法的作用和 apply() 方法类似,只有一个区别,就是 call()方法接受的是若干个参数的列表,而apply()方法接受的是一个包含多个参数的数组

example:
var a = [‘a’]; var b = [‘b’];
a.push.apply(a, b) 等价于 b.push.apply(a, b), 因为第一个参数thisArg是相同的,最终都是a被改写。
还可以写成 Array.prototype.push.apply(a, b),结果相同。
不能写成Array.push.apply()的原因是Array是构造函数,没有重写prototype里的方法,因此要使用原型中的push方法。

如有不对,敬请指正。
正在前端路中努力爬行的小菜鸟~~~

猜你喜欢

转载自blog.csdn.net/u011141492/article/details/80387116