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)
所有新浏览器都支持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)