具体来说,我在学校的每个教室都有一大堆JavaScript对象。它们每个都有几个属性。我正在尝试使用变量作为名称来引用它们,如下所示:
var lok001 = {floor: 0, x: 2037, y: 713};
var lok002 = {floor: 0, x: 1759, y: 743};
大约有150个教室。我正试图从他们那里得到x和y位置
var lokVan = lok001;
outputObject.innerHTML = lokVan.x;
outputObject在文档的前面定义,但是lokVan.x似乎输出“未定义”。
如何使它正常工作?
编辑:我已解决。而不是使用
var lokVan = lok001;
将lok001读为字符串,我不得不使用它
var lokVan = eval(lok001);
这将读取对象lok001并将其传输到lokVan,而不是尝试从字符串读取属性
编辑2:我读到不应该使用eval,所以现在我将所有教室放到另一个对象中,以便我可以做
van = 003;
lokalen[van].x;
其中
var lokalen = {
'001': { floor: 0, x: 1, y: 1 },
'002': { floor: 0, x: 2, y: 2 },
'003': { floor: 0, x: 3, y: 3 },
...
}
答案 0 :(得分:-1)
您应该使用=符号将对象关联到变量。
var lok001 = {floor: 0, x: 2037, y: 713};
var lok002 = {floor: 0, x: 1759, y: 743};