将数组作为参数发送到变量arity函数时,“apply”有什么区别

时间:2015-01-05 03:38:47

标签: javascript arrays

这里我有一个可以接受任意数量参数的函数。将数组作为参数发送给这个函数而不应用会创建一个包含一个具有3个元素的数组的数组。

function a(){
   console.log(arguments);
}
a([1,2,3]);

enter image description here

当使用apply()方法调用它时,它只给出一个输出,只有一个数组有其元素

function a(){
   console.log(arguments);
}
a.apply(null,[1,2,3]);

enter image description here

我们可以看到输出的重大变化。我只知道我们有我的问题是当我们发送数组作为参数时,应用的差异是什么?我的意思是为什么我们需要在需要时使用'apply'将数组发送到可变参数?

1 个答案:

答案 0 :(得分:0)

apply与将数组发送到函数无关。

用于调用函数并为函数指定特定的this上下文。您可以将参数作为数组传递给相关函数,第二个参数为apply,或者作为call的N个后续参数。

applycall的全部内容是第一个参数,您已将其设置为null,而不是之后的参数。