例如我有这样一个对象:
var a = {
'light': 'good',
'dark' : {
'black': 'bad',
'gray' : 'not so bad'
}
}
和这样的代码:
var test = function(obj) {
// do smth with object
// I need to get obj's name ('dark' in my way)
}
test(a.dark);
如何获取函数体中对象的名称。所以我的意思是我应该知道 obj 的名字是“dark”。
我试过用萤火虫检查对象,但它只显示对象的属性。它没有显示一些内部方法或属性,我将能够知道
谢谢你。
原文由 Larry Cinnabar 发布,翻译遵循 CC BY-SA 4.0 许可协议
你不能。您只是将对象
{ black : 'bad', gray : 'not so bad' }
传递给test
。这个对象本质上没有名称“暗”,它只是一个碰巧作为对象dark
的属性存在的对象a
。当将其传递给函数时,此信息将无法挽回地丢失。您基本上是在尝试检索在将值传递给函数之前保存该值的变量名称。那是不可能的。