我有一個對象:有沒有辦法訪問對象文字的名字?
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 = {}',解釋器沒有機制讓你知道你想要命名哪個變量。 –