如果我有一堆对象,并且在这些对象中是字符串“ id”(与对象名称相同),如何使用该字符串引用该对象?
例:
//These objects are tests - note the id's are the same as the object name
var test1 = {
id : "test1",
data : "Test 1 test 1 test 1"
}
var test2 = {
id : "test2",
data : "Test 2 test 2 test 2"
}
/* ----- My Function ----- */
var myObj = null;
function setMyObj(obj){
myObj = obj;
}
setMyObj(test1);
/* ----- My Function ----- */
现在,如果我拨打以下电话:
myObj.id;
结果为“ test1”(字符串)。
如果我想用它来从test1中获取数据,我该怎么做?
"myObj.id".data
[myObj.id].data
^^^
这些不起作用!
干杯,
丰富
最佳答案
如果您的变量是在全局范围内定义的,则可以进行以下操作
window[ myObj.id ].data
如果您在函数范围内,则事情会变得很困难。然后,最简单的方法是在窗口上的特定命名空间中定义对象,然后检索与上述代码类似的对象。