我想将参数传递给用作实际代码段的函数
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
属性。
我知道可以将字符串作为参数传递,但是实际的代码片段呢?
是否可以这样做?
答案 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;
});