不使用空字符串而跳过参数/参数

时间:2014-11-03 14:06:45

标签: javascript

从理论上讲,假设我有一个带100个参数的函数,我只想使用其中的1个,而且它是第100个。在我可以通过第100个之前写入99个空字符串,有没有更容易的方法呢?我知道你应该永远不会有100个参数但我很好奇,如果这是可能的。

2 个答案:

答案 0 :(得分:2)

理论上,是的,有一种方法可以做到这一点。它使用Function.prototype.apply,它允许您使用数组来为函数调用提供参数。

因此,如果我们的函数被称为someFunc,那么你可以这样做:

var params = Array(99); // array with 99 undefined parameters
params.push('foo'); // add the 100th parameter

someFunc.apply(null, params);

正如你所说,这是一个认真坏主意。更好的方法是使用具有命名值的对象。

答案 1 :(得分:1)

使用参数对象 - 您可以使用参数

轻松设置默认值并覆盖您想要的内容
var foo = myFunction({foo:'bar', bar:25})

Google参数对象,例如Passing Default Parameter Objects in JavaScript

(但如果您有超过3或4个参数,则可能会出现更严重的问题)