JavaScript可变参数数量的函数

有没有一种方法可以在JavaScript中为函数提供“无限”变量?

例:

load(var1, var2, var3, var4, var5, etc...)
load(var1)

当然,只需使用arguments对象。

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

另一种选择是在上下文对象中传入参数。

function load(context)
{
    // do whatever with context.name, context.address, etc
}

并像这样使用它

load({name:'Ken',address:'secret',unused:true})

这样做的好处是您可以根据需要添加任意数量的命名参数,并且该函数可以根据需要使用它们(或不使用它们)。


在最近的浏览器中,您可以使用以下语法接受可变数量的参数:

function my_log(...args) {
     //args is an Array
     console.log(args);
     //You can pass this array as parameters to another function
     console.log(...args);
}
链接地址: http://www.djcxy.com/p/65111.html

上一篇: JavaScript variable number of arguments to function

下一篇: Can you return two arguments in objective