参数作为Javascript中的实际代码替换

时间:2014-07-05 16:36:27

标签: javascript

我想将参数传递给用作实际代码段的函数

this.illuminateLeg = function(whom) {
    var propertiesToIlluminate = [], prop, illuminateInternal, i = 0, delay = 100, intervalId;
    for (key in this.whom.zoom) {
        propertiesToIlluminate.push(this.whom.zoom[key]);
    }
}

我正在尝试传递whom参数,该参数用于迭代我对象的whom属性。

我知道可以将字符串作为参数传递,但是实际的代码片段呢?

是否可以这样做?

2 个答案:

答案 0 :(得分:2)

这样的东西?

 for (key in this[whom].zoom)

而不是

for (key in this.whom.zoom)

然后像这样调用函数

this.illuminateLeg("whom")

答案 1 :(得分:1)

如果whom的值是属性的名称,则可以执行以下操作:

for (key in this[whom].zoom) {

否则,您可以允许调用者传入一个获取对象的函数:

this.illuminateLeg = function(getWhom) {
    /* ... */

    for (key in getWhom(this).zoom) {
        /* ... */
    }

// Call with function as argument:
obj.illuminateLeg(function (param) {
    return param.somebody.somethingElse;
});