我想将表示为哈希的参数应用于函数。
例如,我想调用此函数:
myFunc = function(a,b,c) { return b }
以类似的方式:
myFunc({a:1, b:2, c:3})
有没有办法在javascript中执行此操作?
答案 0 :(得分:1)
通常,不可能将函数中的位置参数与对象中的键值对相关联。
可以将函数配置为双向接受参数:
myFunc = function (objOrA, b, c) {
var a = objOrA;
if (objOrA.a || objOrA.b || objOrA.c) {
a = objOrA.a;
b || (b = objOrA.b);
c || (c = objOrA.c);
}
return b;
};
但是,如果您可以控制函数定义,那么最简单的解决方案就是将对象作为唯一参数,无论如何。
myFunc = function (options) {
return options.b;
}