这里我有一个可以接受任意数量参数的函数。将数组作为参数发送给这个函数而不应用会创建一个包含一个具有3个元素的数组的数组。
function a(){
console.log(arguments);
}
a([1,2,3]);
当使用apply()方法调用它时,它只给出一个输出,只有一个数组有其元素
function a(){
console.log(arguments);
}
a.apply(null,[1,2,3]);
我们可以看到输出的重大变化。我只知道我们有我的问题是当我们发送数组作为参数时,应用的差异是什么?我的意思是为什么我们需要在需要时使用'apply'将数组发送到可变参数?
答案 0 :(得分:0)
apply
与将数组发送到函数无关。
用于调用函数并为函数指定特定的this
上下文。您可以将参数作为数组传递给相关函数,第二个参数为apply
,或者作为call
的N个后续参数。
apply
和call
的全部内容是第一个参数,您已将其设置为null
,而不是之后的参数。