我想调用一个对象。
我目前正在这样做:
var key = object_0
我喜欢的方式
var key = "object_" + questionId;
但是当调用连接的object_0时,我没有得到对象信息 当我做的时候:
console.log(key)
任何见解都会很棒。
答案 0 :(得分:1)
如果您使用ES5,则可以创建新的空对象。以下是步骤:
1.创建空对象
var o = {};
2。使用括号在对象上生成新键 - ("object_" + questionId)
- 这将强制解析器首先计算括号中的表达式
3.将值分配给新添加的密钥
o[("object_" + questionId)] = XXX;
然后console.log(o)
将输出{object_0: XXX}
答案 1 :(得分:1)
简答:全球范围+括号。
window['object_'+questionId] = 'foo';
console.log(window['object_'+questionId]); // 'foo'
答案 2 :(得分:0)
您可以使用窗口对象(仅访问全局变量):
var object_0 = { p: 42 },
questionId = 0,
key = "object_" + questionId;
document.write(window[key].p);
但我建议将数据结构更改为更简洁的样式:
var questions = { 200: { p: 42 }},
questionId = 200;
document.write(questions[questionId].p);