Javascript 有什么区别';应用';将数组作为参数发送到变量arity函数时生成
这里我有一个函数,它可以接受任意数量的参数。不使用apply将数组作为参数发送到此函数将创建一个数组,该数组包含一个包含3个元素的数组Javascript 有什么区别';应用';将数组作为参数发送到变量arity函数时生成,javascript,arrays,Javascript,Arrays,这里我有一个函数,它可以接受任意数量的参数。不使用apply将数组作为参数发送到此函数将创建一个数组,该数组包含一个包含3个元素的数组 function a(){ console.log(arguments); } a([1,2,3]); 当使用apply()方法调用它时,它给出的输出只有一个数组有其元素 function a(){ console.log(arguments); } a.apply(null,[1,2,3]); 我们可以看到输出的显著变化。我只知道我的问题是
function a(){
console.log(arguments);
}
a([1,2,3]);
当使用apply()方法调用它时,它给出的输出只有一个数组有其元素
function a(){
console.log(arguments);
}
a.apply(null,[1,2,3]);
我们可以看到输出的显著变化。我只知道我的问题是,当我们将数组作为参数发送时,应用有什么区别?我的意思是当我们必须将数组发送到变量时,为什么我们需要使用“应用”?
应用与将数组发送到函数无关
它用于调用函数并为函数指定特定的上下文。您可以将参数作为数组传递给相关函数,将第二个参数传递给apply
,或作为N个后续参数传递给call
apply
和call
的整个点是第一个参数,您已将其设置为null
,不是之后的参数。阅读文档可以回答您的问题。实际上,我问的是为什么控制台中的输出模式有差异?@user3138436为什么没有差异?在一个示例中使用了apply
,而在另一个示例中没有使用它。当然有区别。您是否阅读了apply
功能的文档?