我正在创建一个 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/