2

所以我有一个带有很多参数的函数,例如

function myFunction(height, width, name, surname, time){
...
}

麻烦的是我想用这个函数来发送不同的参数集。

所以有时候会...

  function myFunction(height, width, depth, name, surname, time){
    ...
    }

该函数用于许多任务,我不希望函数中的参数列表很长,并且在调用函数时值列表中存在大量空格。

我需要一些更动态的东西,理想情况下,一个关联数组将被传递给从它创建的函数和变量。

4

2 回答 2

6

因为 JavaScript 没有命名参数,人们通常使用对象作为“接口”

您可以接受作为对象的单个参数并将所有这些参数作为键。

function myFunction(options){
   //access to options.height and more...

}

将包装在对象中的参数传递给函数

myFunction({
  height: 100,
  widht: 300,
  ...
});
于 2013-04-05T17:09:32.457 回答
0

我的最后一个帖子是错误的。我有不同的想法。对此感到抱歉。

您可以使用长 lsit 参数编写函数,但在执行函数时不必使用所有参数。

功能

function foo(a, b, c) {
    //body;
};

可以这样执行:

foo(a);
foo(a,b);
foo(a,b,c);

在函数内部检查参数是否不为空以及是否设置了默认值

function foo(a, b, c) {
    a = a !== 'null' ? a : defaultValue;
    b = b !== 'null' ? b : defaultValue;
    c = c !== 'null' ? c : defaultValue;
};
于 2013-04-05T17:20:06.733 回答