Javascript向函数传递不同的参数集

Javascript向函数传递不同的参数集,javascript,Javascript,例如,我有一个有很多参数的函数 function myFunction(height, width, name, surname, time){ ... } 问题是我想用这个函数发送不同的参数集 所以有时候会是 function myFunction(height, width, depth, name, surname, time){ ... } 该函数用于许多任务,我不希望在调用该函数时函数中有一长串参数以及值列表中有很多空格 我需要更动态的东西,理想情况下,一个关联

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

function myFunction(height, width, name, surname, time){
...
}
问题是我想用这个函数发送不同的参数集

所以有时候会是

  function myFunction(height, width, depth, name, surname, time){
    ...
    }
该函数用于许多任务,我不希望在调用该函数时函数中有一长串参数以及值列表中有很多空格


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

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

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

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

}
将压缩在对象中的参数传递给函数

myFunction({
  height: 100,
  widht: 300,
  ...
});

我上一篇文章错了。我有不同的想法。对不起

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

作用

function foo(a, b, c) {
    //body;
};
可以这样执行:

foo(a);
foo(a,b);
foo(a,b,c);
在函数内部,检查参数是否为null,以及它们是否设置了defaut值

function foo(a, b, c) {
    a = a !== 'null' ? a : defaultValue;
    b = b !== 'null' ? b : defaultValue;
    c = c !== 'null' ? c : defaultValue;
};

理想情况下,关联数组将传递给函数
试试看。如果你不能让它工作,发布你的代码。如果您使用jquery,您可以使用
extend
函数将传入的数组与默认数组合并。对于这种特殊情况,传递对象(您在这里称之为“关联数组”)可能是最好的选择。我只是不知道如何在函数调用括号中直接键入关联数组?.g myFunction([“heigh”)>120,……是吗right@user1209203Mohsen的回答显示了正确的语法。这是一篇您可能会感兴趣的文章。虽然在这种情况下,使用对象作为关联数组是更简洁的方法,但看一看并没有什么坏处。好的,这似乎可行,我可以将函数作为对象值传递如下,…宽度:300,print:function(){alert(“done”)};可以,但要注意该函数的作用域。如果未传递参数,则其值不是
“null”
(或
null
)…它是
未定义的