如何在javascript中创建具有可变参数的函数?
我想用javascript创建一个参数数量可变的函数。下一个示例是如何调用此函数:如何在javascript中创建具有可变参数的函数?,javascript,variadic-functions,Javascript,Variadic Functions,我想用javascript创建一个参数数量可变的函数。下一个示例是如何调用此函数: myFunction(1,2); myFunction(1,2,3); myFunction(1,2,3,4); myFunction(1,2,3,4,5); myFunction(1,2,3,4,5,6); 有人知道如何定义这个函数吗?请参考参数数组 您可以按参数的顺序位置访问参数,而无需在原型中声明它们,如下所示: function myFunction() { for (var i = 0; i &l
myFunction(1,2);
myFunction(1,2,3);
myFunction(1,2,3,4);
myFunction(1,2,3,4,5);
myFunction(1,2,3,4,5,6);
有人知道如何定义这个函数吗?请参考参数数组
您可以按参数的顺序位置访问参数,而无需在原型中声明它们,如下所示:
function myFunction() {
for (var i = 0; i < arguments.length; i++)
alert(arguments[i]);
}
myFunction(1, 2, "three");
>>1
>>2
>>three
如果参数不存在,请使用默认值。像这样
function accident() {
//Mandatory Arguments
var driver = arguments[0];
var condition = arguments[1]
//Optional Arguments
var blame_on = (arguments[2]) ? arguments[2] : "Irresponsible tree" ;
}
accident("Me","Drunk");
像这样使用“arguments”变量:
function myFunction() {
alert(arguments.length + ' arguments');
for( var i = 0; i < arguments.length; i++ ) {
alert(arguments[i]);
}
}
作为附加组件:您可以为未命名的函数参数赋值,如中所示 最新更新 所有新浏览器都支持Rest参数。 rest参数语法允许我们将不确定数量的参数表示为数组,您也可以将其传递给其他函数
function myFunction(...data){
console.log(...data);
myOtherFunction(...data);
}
myFunction(1,2,3); //logs 1,2,3
myFunction([1,2,3]); //logs [1,2,3]
@我不同意,这不是同一个问题。。。在这里,我讨论了参数的数量,另一个讨论了默认参数的可能重复,我在《Javascript,最终指南》一书中也看到了这个解决方案。谢谢
myFunction(1,2);
myFunction(1,2,3,4,5,6);
arguments[0] = 5;
function myFunction(...data){
console.log(...data);
myOtherFunction(...data);
}
myFunction(1,2,3); //logs 1,2,3
myFunction([1,2,3]); //logs [1,2,3]