如何在javascript中获取变量名的字符串?
我有这样一个变量:如何在javascript中获取变量名的字符串?,javascript,string,Javascript,String,我有这样一个变量: var foo = ["cool", "cool"]; 如何将变量名foo作为字符串获取?换句话说,给定foo,我如何得到“foo”?我想在以下上下文中使用它,其中在getElementById(…)中使用“foo”: 谢谢 如果它是一个全局变量,则在浏览器中作为全局对象属性:window,在NodeJS中作为全局对象属性:global。否则,你就不会这样做。你把这个问题看错了——直接回答这个问题 给定foo,我如何得到“foo” 答案是。。。在代码中键入“foo” 您知
var foo = ["cool", "cool"];
如何将变量名foo作为字符串获取?换句话说,给定foo,我如何得到“foo”?我想在以下上下文中使用它,其中在getElementById(…)中使用“foo”:
谢谢 如果它是一个全局变量,则在浏览器中作为全局对象属性:
window
,在NodeJS中作为全局对象属性:global
。否则,你就不会这样做。你把这个问题看错了——直接回答这个问题
给定foo,我如何得到“foo”
答案是。。。在代码中键入“foo”
您知道在编写代码时需要foo
变量名的字符串表示形式,因此在任何情况下,您想要的字符串值都只能是“foo”
,对吗
确实,您可以使用
window[“foo”]
引用属性foo
,例如窗口
对象,但这也是另一种方式-您必须知道它是您想要的foo
,并故意使用“foo”
来获取它。因此,有一个例子——您知道在编译时使用什么字符串,“foo”
——它不可能是其他任何东西。您不能这样做(除非您在全局范围内,并且希望遍历窗口上的属性)。您可能需要考虑使用对象来代替;i、 e.var o={foo:[“酷”,“酷”]}现在说你有varx=o.foo
您可以使用o[key]==x
在o
上迭代以查找key
,您可以详细说明要编写的代码吗?不清楚上面的代码片段是如何调用的,也不清楚您希望发生什么。如果我们了解您想要做什么,也许我们可以想出一个不需要知道变量名的解决方案。例如,为什么不将字符串“foo”传递给函数呢?从不使用foo
的值。
document.getElementById("foo").innerHTML = document.getElementById("foo").innerHTML + "";