Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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中使用数组中存储的多个参数调用函数_Javascript_Arrays - Fatal编程技术网

在javascript中使用数组中存储的多个参数调用函数

在javascript中使用数组中存储的多个参数调用函数,javascript,arrays,Javascript,Arrays,我四处搜索,没有找到任何关于这个的问题 所以我有一个函数,它可以接受多个参数,(参数的数量无关紧要),比如: function print(){ for(var i = 0; i<arguments.length; i++ ){ console.log(arguments[i]); } } 我需要使用存储在params数组中的参数调用函数。好吧,如果我知道参数的数量,我可以这样做: print(params[0],params[1],...); 但我不知

我四处搜索,没有找到任何关于这个的问题

所以我有一个函数,它可以接受多个参数,(参数的数量无关紧要),比如:

function print(){
    for(var i = 0; i<arguments.length; i++ ){
        console.log(arguments[i]);
    }
}
我需要使用存储在params数组中的参数调用函数。好吧,如果我知道参数的数量,我可以这样做:

print(params[0],params[1],...);
但我不知道参数的数量,需要一种方法来调用所有参数的函数

还有什么我可以做的吗?我试着使用print.call(params),但是call方法不能这样工作


感谢您在ES5及更早版本中寻找的,所有真正的JavaScript函数都有:

console.log.apply(console, params);
…其中
params
是您的数组

Function#apply
使用给定的
值(第一个参数)和数组中给定的参数调用调用它的函数

注意,不能保证所有主机提供的函数(如
console.log
)都是真正的JavaScript函数。然而,在现代浏览器中,
console.log
确实有
apply
。比如说,IE9和更早的版本

在ES2015(ES6)及更高版本中,您将使用:


…这里的
params
是你的数组。

可能是@GandalftheWhite的重复:有东西告诉我你抓错了URL…:-)
console.log.apply(console, params);
// ES2015 and later only
console.log(...params);