我有以下功能
function myFunction(){
var foo="My Foo String";
}
我想以下列方式访问我的变量
function myFunction(){
var foo="My Foo String";
console.log(SOMETHINGIDONOTKNOWABOUT["foo"]);
}
我知道在javascript中可以使用window [“yourvariablename”]来访问它,但我有兴趣以类似的方式访问函数变量,因此 Is there a way to access a javascript variable using a string that contains the name of the variable?不重复。 Eval对我来说不是正确答案。
答案 0 :(得分:1)
不要这样做。动态变量对于浏览器的调试和优化来说真的很烦人。
使用集合,地图,为其创建类,甚至是一个简单的对象来存储您希望能够使用字符串访问的内容。
function myFunction() {
var myData = {
"foo": "My foo string"
};
console.log( myData[ "foo" ] );
}
答案 1 :(得分:0)
如果我理解你的问题,你应该使用foo
不加引号:
window[foo]
请注意,将值放在全局范围内是一种不好的做法。
答案 2 :(得分:0)
以下代码段是您尝试实现的目标吗?
如果要将变量用作数组元素名称,则不必使用引号。如果array["foo"]
是变量,则array[foo]
应为foo
。
var array = [];
array['foo'] = 'bar';
// Code #1
function myFunction(element) {
console.log(array[element]);
}
myFunction('foo');
// Code #2
function myFunction() {
element = 'foo';
console.log(array[element]);
}
myFunction();

希望它有所帮助。