在javascript函数参数列表中传递可变数量的参数

时间:2013-10-28 07:16:50

标签: javascript function variadic-functions

我可以将可变数量的参数传递给Javascript函数吗?我对JS知之甚少。我想实现以下内容:

 function CalculateAB3(data, val1, val2, ...)
    {
        ...
    }

3 个答案:

答案 0 :(得分:15)

您可以在函数中传递多个参数,并通过arguments变量访问它们。这是一个函数示例,它返回您在其中传递的所有参数的总和

var sum = function () {
    var res = 0;
    for (var i = 0; i < arguments.length; i++) {
        res += parseInt(arguments[i]);
    }
    return res;
 }

您可以按如下方式调用它:

sum(1, 2, 3); // returns 6

答案 1 :(得分:3)

简单回答你的问题,当然可以

但我个人想传递一个对象而不是n个参数

示例:

function CalculateAB3(obj)
{
    var var1= obj.var1 || 0; //if obj.var1 is null, 0 will be set to var1 
    //rest of parameters
}

此处||是更多信息访问http://codepb.com/null-coalescing-operator-in-javascript/

的逻辑运算符

Is there a "null coalescing" operator in JavaScript?是一个很好的阅读

答案 2 :(得分:0)

是的,你可以做到。像那里一样使用变量arguments

function test() {
  for(var i=0; i<arguments.length; i++) {
    console.log(arguments[i])
  }
}