javascript - 在 JavaScript 中获取对象变量名

标签 javascript

我正在创建一个 JavaScript 代码,我遇到了一种情况,我想在对象方法中读取对象名称(字符串)。我试图实现的示例代码如下所示:

// Define my object
var TestObject = function() {
    return {
        getObjectName: function() {
            console.log( /* Get the Object instance name */ );
        }
    };
}

// create instance
var a1 = TestObject();
var a2 = TestObject();

a1.getObjectName(); // Here I want to get the string name "a1";

a2.getObjectName(); // Here I want to get the string name "a2";

我不确定这在 JavaScript 中是否可行。但如果是这样,我很想听听你们如何实现这一目标。

最佳答案

这在 JavaScript 中是不可能的。变量只是对对象的引用,同一个对象可以被多个变量引用。无法判断使用了哪个变量来访问您的对象。但是,如果您将 name 传递给您的构造函数,您可以返回它:

// Define my object
function TestObject (name) {
    return {
        getObjectName: function() {
            return name
        }
    };
}

// create instance
var a1 = TestObject('a1')
var a2 = TestObject('a2')

console.log(a1.getObjectName()) //=> 'a1'

console.log(a2.getObjectName()) //=> 'a2'

关于javascript - 在 JavaScript 中获取对象变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42870307/

相关文章:

javascript - 显示/隐藏隐藏的 div 并更改 css

javascript - 在高度 : auto container 中垂直对齐和绝对定位 div 时遇到问题

javascript - 载入谷歌地图

javascript - 使用推送器实现广播的问题

javascript - 如何在到达某个位置时激活间隔?

javascript - 在没有 JQuery 的 JavaScript 中,在 AJAX 请求中进行长轮询的最佳方法是什么?

php - 将数组从 javascript 传递到 PHP 时出错

javascript - Canvas 中一张图像上的 globalAlpha

javascript - AWQL(AdWords 查询语言)寻求多范围查询(各种)

javascript - 在node.js中切换python脚本