如何在JavaScript中将变量名转换为字符串?

jir*_*kap 27 javascript

有没有办法在javascript中将变量名转换为字符串?更具体:

var a = 1, b = 2, c = 'hello';
var array = [a, b, c];
Run Code Online (Sandbox Code Playgroud)

现在,在我浏览数组的某个时刻,我需要将变量名称(而不是它们的值)作为字符串 - 这将是'a'或'b'或'c'.我真的需要它成为一个字符串,所以它是可写的.我怎样才能做到这一点?

Tri*_*ych 29

使用Javascript对象文字:

var obj = {
    a: 1,
    b: 2,
    c: 'hello'
};
Run Code Online (Sandbox Code Playgroud)

然后你可以像这样遍历它:

for (var key in obj){
    console.log(key, obj[key]);
}
Run Code Online (Sandbox Code Playgroud)

并在对象上访问属性,如下所示:

console.log(obj.a, obj.c);
Run Code Online (Sandbox Code Playgroud)

  • 实际上,我很高兴他把引号包括在内,这一切对我来说更有意义. (3认同)
  • 我最初没有引号 - 检查我的编辑.决定添加它们,因为在某些情况下,您确实需要引号.JSON需要引号.这是一个很好的习惯. (3认同)
  • 我当然会做console.log(),但我不想假设Firebug. (2认同)