2013-01-10 64 views
0

我可能不知道该怎么称呼它,但基本上我想动态传递属性的名称,然后在我的对象数据属性中获取该属性的值。事情是这样的:如何动态获取JavaScript对象的属性值?

function myFunc(e, myProperty) { 

    alert(e.data[myProperty]); 
} 

var myValue = myFunc(myObject, "someField"); 

我得到的价值不确定

我认为在ColdFusion中的等价物是[myPropertyName],我想知道在JavaScript中是否有类似的东西。

更新:显然越来越值的作品,但没有我试图将动态属性作为名称/值对传递给AJAX请求。

var myValue = e.data[myProperty]; 

var myData = { myProperty: myValue } 

在上面myProperty的代码被作为“myProperty的”

+1

您的语法是正确的;这是在Javascript中通过名称动态访问对象属性的方法。你能发布你正在使用的数据吗?这很可能是你的问题所在。 – glomad

+0

呃,它已经适合我了。如果你做了alert(e.data.someField),当然是 – jwatts1980

+0

;你会得到什么吗? – jwatts1980

回答

1

请尝试:

var myValue = e.data[myProperty]; 

var myData = { }; 
myData[myProperty] = myValue; 

应让你动态创建吃了一个物业名为myProperty

0

为我工作过:

function myFunc(e, myProperty) { 
    alert(e.data[myProperty]); 
} 

myObject = { data: {} }; 
myObject.data['someField'] = 123; 
var myValue = myFunc(myObject, "someField");