尝试使用javascript中的对象属性动态工作

时间:2013-09-17 17:59:22

标签: javascript jquery arrays

我试图弄清楚这是否合理,但最多会出现语法错误。所以我想知道它是否可能。

我拥有的是一个对象(仅限示例)

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

2 个答案:

答案 0 :(得分:1)

将属性名称字符串放在括号中。

console.log(obj[theScope + '_max']);

答案 1 :(得分:1)

始终可以使用括号语法(即object['property'])将JavaScript对象的属性作为字符串进行访问。当然,这意味着您可以动态构建该字符串:

console.log(obj[theScope + '_max']);