0

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

例如,我想调用这个函数:

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

以类似于此的方式:

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

有没有办法在javascript中做到这一点?

4

1 回答 1

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;
}
于 2013-01-23T22:55:17.297 回答