将参数应用于函数

时间:2013-01-23 22:51:29

标签: javascript higher-order-functions named-parameters

我想将表示为哈希的参数应用于函数。

例如,我想调用此函数:

myFunc = function(a,b,c) { return b }

以类似的方式:

myFunc({a:1, b:2, c:3})

有没有办法在javascript中执行此操作?

1 个答案:

答案 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;
}