Javascript:获取字符串形式的对象名称

Javascript: Get object name as string

本文关键字:对象 获取 字符串 Javascript      更新时间:2023-09-26

假设我有这个代码。。。

var personA = {
    name: "john"
}
var personB = {
    name: "john"
}
function doSomething(o) {
    alert("Var is: " + o.toString()); // I need to convert 'o' to the object name
}
doSomething(personA);
doSomething(personB);

我希望警报输出是…

Var is: personA
Var is: personB

但我不知道如何将名称作为对象的字符串?

这是不可能的。没有返回到变量的连接。

当您doSomething(personA);时,您将获得变量personA,并将该值传递给函数。

function doSomething(o) {

该值被复制到o中。从那里没有返回personA的路径。

基本上没有你不能

一种巧妙的方法是使用

var personA = {
    name: "John",
    variable: "personA"
}

然后只使用o.variable

var people = {
    personA: {name: "john"},
    personB: {name: "billy"}
};
for(var variable in people)
{
    alert(variable);
}

代码来自此处

您可以按照的思路做一些事情

var global = {};
Object.observe(global, function(obj) {
 console.log(obj[0].name);
});
global.personA = { name: "John" };

使用EC7观察