我有一个对象:有没有办法访问对象文字的名字?
var Top = {
'A':{},
'b':{
'1':'someText',
'2':'someMoreText'},
'C':{
'3':'evenMoreText',
'4':'thisIsGettingRedundant'},
'D':'thisOneIsDifferent'}
我正在寻找一种方式来访问我的对象的名称,如Top[b].objectName
将返回'Top'
作为一个字符串,我里面的一些嵌套做这... in循环,像这样:
for(thing in Top){
for(piece in Top[thing]){
console.log('Grabbing ' + Top[thing][piece] + ' from ' + MY_OBJECT_NAME_THAT_SHOULD_BE_TOP);
}
}
我想我可以一个标签添加到每个对象的名字,但似乎是多余的,我(IE从{}到“顶”更改)。
- 编辑:
是有记录我的第二个级别对象名称IE的方式。 A,B,C?因为他们应该被记录为数据而不是代码
这看起来像是代码被缩小时会破坏的东西。签出[在JavaScript中的变量名字符串](https://stackoverflow.com/questions/4602141/variable-name-as-a-string-in-javascript) – byxor
有[this](https:// stackoverflow。 com/a/24100885/7852370)的方法,您可以在这里查看全局'Window'中的所有属性,并找到与您的对象匹配的一个。 –
有没有办法做到这一点,因为一个对象可以被许多变量引用,例如'a = b = c = {}',解释器没有机制让你知道你想要命名哪个变量。 –