在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);