Javascript apply方法的第二个参数内的执行顺序

Javascript apply方法的第二个参数内的执行顺序,javascript,Javascript,以上是一段javascript代码。 我知道数组.prototype.unshift 我知道要求第二个参数必须是数组或类似数组的apply。 但我不明白为什么结果是[3,4,5,0,1,2],而不是[5,4,3,0,1,2]。这是否意味着arr1第一次取消移位5,第二次取消移位4,最后取消移位3?所以可以得出结论,apply的第二个论点是从右向左执行的 有人能详细说明一下吗?:~)到的第一个参数。apply是上下文(这个是),第二个是参数数组 所以你实际上是这样做的: var arr1 = [0

以上是一段javascript代码。
我知道
数组.prototype.unshift

我知道要求第二个参数必须是数组或类似数组的
apply

但我不明白为什么结果是
[3,4,5,0,1,2]
,而不是
[5,4,3,0,1,2]
。这是否意味着arr1第一次取消移位
5
,第二次取消移位
4
,最后取消移位
3
?所以可以得出结论,apply的第二个论点是从右向左执行的


有人能详细说明一下吗?:~)

的第一个参数。apply
是上下文(这个
),第二个是参数数组

所以你实际上是这样做的:

var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
// Prepend all items from arr2 onto arr1
Array.prototype.unshift.apply(arr1, arr2) // arr1 is now [3, 4, 5, 0, 1, 2]

要了解
unshift
的工作方式,
.apply
的第一个参数是上下文(
),第二个是参数数组

所以你实际上是这样做的:

var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
// Prepend all items from arr2 onto arr1
Array.prototype.unshift.apply(arr1, arr2) // arr1 is now [3, 4, 5, 0, 1, 2]

要了解
unshift
的工作方式

apply
的第二个参数是参数数组。因此它们将应用于
unshift
apply
的第二个参数是参数数组。因此,它们将应用于
unshift