Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有什么区别';应用';将数组作为参数发送到变量arity函数时生成_Javascript_Arrays - Fatal编程技术网

Javascript 有什么区别';应用';将数组作为参数发送到变量arity函数时生成

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]); 我们可以看到输出的显著变化。我只知道我的问题是

这里我有一个函数,它可以接受任意数量的参数。不使用apply将数组作为参数发送到此函数将创建一个数组,该数组包含一个包含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
功能的文档?