我试图做以下事情,这可能吗?
var objectName = {prop: 'value'};
var stringName = 'objectName';
console.log([stringName]) // output {prop: 'value'}
更新 实际上有几种方法可以做到这一点,我已经知道了,但这似乎与babel编译导入对象的方式有关。为这样一个沉闷的问题道歉...
答案 0 :(得分:2)
如果它在全局上下文中,您可以从窗口对象
获取它
var objectName = {prop: 'value'};
var stringName = 'objectName';
console.log(window[stringName]) // output {prop: 'value'}
更好的方法是在对象中定义它并从对象获取值以供将来参考。
varvar obj = {
objectName: {
prop: 'value'
}
};
var stringName = 'objectName';
console.log(obj[stringName]) // output {prop: 'value'}
答案 1 :(得分:0)
如果您在前端执行此操作,则可以执行console.log(window[stringName])
。
答案 2 :(得分:-1)
取决于,您是否尝试访问全局对象上的属性?如果是这样,那就不可能了。但是,您可以像这样访问对象属性。
var myVariable = {
prop: 'something'
};
var propName = 'prop';
console.log(myVariable[propName]);
最好不要使用变量来污染全局范围。