如何在javascript中创建带有变量参数的函数?

McS*_*Sas 18 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);
Run Code Online (Sandbox Code Playgroud)

谁知道如何定义这个功能?

Ale*_* K. 29

您可以按顺序位置访问参数,而无需在原型中声明它们,如下所示:

function myFunction() {
  for (var i = 0; i < arguments.length; i++)
    alert(arguments[i]);
}

myFunction(1, 2, "three");

>>1
>>2
>>three
Run Code Online (Sandbox Code Playgroud)

或者如果你真的传递了一组语义相关的数字,你可以使用一个数组;

function myFunction(arr) { ... }
result = myFunction([1,2,3]);
Run Code Online (Sandbox Code Playgroud)


opt*_*oop 9

最近更新

所有新浏览器都支持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]
Run Code Online (Sandbox Code Playgroud)