8

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

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

3 回答 3

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
于 2013-10-28T07:24:44.437 回答
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/

A JavaScript 中是否有“空值合并”运算符?很好读

于 2013-10-28T07:24:12.747 回答
0

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

function test() {
  for(var i=0; i<arguments.length; i++) {
    console.log(arguments[i])
  }
}
于 2013-10-28T07:21:27.530 回答