如何在javascript中创建带有可变参数的函数
how to create functions with variable arguments in javascript?
我想在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 < arguments.length; i++)
alert(arguments[i]);
}
myFunction(1, 2, "three");
>>1
>>2
>>three
或者,如果你真的要传递一组语义相关的数字,你可以使用数组;
function myFunction(arr) { ... }
result = myFunction([1,2,3]);
最新更新
所有新浏览器都支持其余参数。点击这里查看详情
其余形参语法允许我们将无限数量的参数表示为数组,您也可以将其传递给其他函数。
function myFunction(...data){
console.log(...data);
myOtherFunction(...data);
}
myFunction(1,2,3); //logs 1,2,3
myFunction([1,2,3]); //logs [1,2,3]
这样使用'arguments'变量:
function myFunction() {
alert(arguments.length + ' arguments');
for( var i = 0; i < arguments.length; i++ ) {
alert(arguments[i]);
}
}
像之前那样调用方法
myFunction(1,2);
myFunction(1,2,3,4,5,6);
直接引用参数数组
https://developer.mozilla.org/en/JavaScript/Reference/functions_and_function_scope/arguments如果参数不存在,则使用默认值。像这样…
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");
作为附加组件:您可以为未命名的函数参数赋值,如(德文wiki)
arguments[0] = 5;
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 使用Express捕获参数
- 参数变量出现ngTable指令问题
- AngularJS:我可以跳过函数参数回调吗
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 要求未定义JS回调参数
- Lodash _.debounce 具有唯一参数变体的单独队列
- 当使用多个值调用时,某些 mixin 参数保持不变
- 多次定义参数时获取 URL 参数值
- 通过 Ajax 获取 PHP 变量值,变量名称作为参数
- JavaScript无法从给定的参数中获取正确的变量值
- 没有参数的jQuery outerHeight()函数返回对象而不是参数值
- 将变量值传递给锚标记中的 href 参数
- 将参数附加到URL地址在多个函数中不起作用(第二个函数不变)
- 如何在不调用函数的情况下向函数实参添加参数
- 根据已有参数值向json中添加参数
- 当不指定url参数时,设置默认url参数值
- 试图保持输入参数不变
- 如何将范围变量值作为 FormName 传递给 ng-click 参数并获取 FormName.$valid 和 For
- 在DistanceMatrixStatus中传递参数回调或设置变量值