我试图弄清楚这是否合理,但最多会出现语法错误。所以我想知道它是否可能。
我拥有的是一个对象(仅限示例)
var myObj = {
something1_max:50,
something1_enabled:false,
something1_locked:true,
something2_max:100,
something2_enabled:false,
something2_locked:true,
something3_max:10,
something3_enabled:true,
something3_locked:true
}
我想通过一个函数做的事情就是再做一次,例如总结一下......
function displayDetails(theScope, obj)
{
console.log(obj.[theScope]_max);
}
(function(){displayDetails('something3', myObj);})()
所以当displayDetails()
被调用时,我在本例中可以看到该范围的最大值。在示例的控制台日志中,我希望看到10
答案 0 :(得分:1)
将属性名称字符串放在括号中。
console.log(obj[theScope + '_max']);
答案 1 :(得分:1)
始终可以使用括号语法(即object['property']
)将JavaScript对象的属性作为字符串进行访问。当然,这意味着您可以动态构建该字符串:
console.log(obj[theScope + '_max']);