Javascript:获取对象名称为字符串

时间:2015-03-24 12:50:13

标签: javascript

说我有这段代码......

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

但我无法弄清楚如何将名称作为对象的字符串?

4 个答案:

答案 0 :(得分:2)

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

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

function doSomething(o) {

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

答案 1 :(得分:0)

基本上没有你不能

执行此操作的hacky方法就是

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

然后只使用o.variable

答案 2 :(得分:0)

var people = {
    personA: {name: "john"},
    personB: {name: "billy"}
};

for(var variable in people)
{
    alert(variable);
}

代码来自here

答案 3 :(得分:0)

你可以按照

的方式做点什么
var global = {};
Object.observe(global, function(obj) {
 console.log(obj[0].name);
});
global.personA = { name: "John" };

EC7 observe