【问题标题】:How to return reference object's name in a function? [duplicate]如何在函数中返回引用对象的名称? [复制]
【发布时间】:2020-02-21 14:13:51
【问题描述】:

如何获取传递给函数的对象的名称,在里面 那个功能?

var referencedObject = {
    someProperty : 'string'
};

var functionObject = {
    construct: function(reference){
        console.log(reference.toString());
    }
};

functionObject.construct(referencedObject);

我正在寻找 referencedObject 作为 console.log(); 的输出

目前正在给我[object object]

【问题讨论】:

  • 我有 99% 的信心你做不到。该信息在运行时对函数不可用。
  • 您无法获取变量的名称,您必须手动传递名称。或者 - 将对象放在另一个对象中,并将您希望获得的名称作为键。
  • 退后一步...为什么需要变量的name?这里的总体目标是什么?
  • 一般无法实现。除非您通过使用 AST 解析器抓取堆栈跟踪来动态执行反向查找。这……至少可以说并不容易。此外,这很可能是an XY problem。你能解释一下为什么你需要这个吗?您要解决的实际问题是什么?
  • 这能回答你的问题吗? Variable name as a string in Javascript

标签: javascript function object reference


【解决方案1】:

你不能使用 '.toString()' 方法来做到这一点。相反,您需要 JSON.stringify(您的对象)。因此,您的代码应如下所示,

console.log(JSON.stringify(reference));

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2015-06-14
    • 2021-06-28
    • 2019-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-21
    • 2019-06-11
    • 1970-01-01
    相关资源
    最近更新 更多