Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-使用动态名称访问变量的值_Javascript_Variables - Fatal编程技术网

Javascript-使用动态名称访问变量的值

Javascript-使用动态名称访问变量的值,javascript,variables,Javascript,Variables,这里没有问题:)有没有办法访问javascript中动态引用的变量名的值 我尝试的是: var var1 = "foo"; var var2 = "bar"; var i = 1; i++; console.log(`var${i}`); // give me "var2" console.log(typeof `var${i}`); // == srting` 我想访问值“foo”或“bar”,但我缺少了一些东西,因为我只得到了变量的名称 我关于stack的第一个问题,所以如果它不完

这里没有问题:)有没有办法访问javascript中动态引用的变量名的值

我尝试的是:

var var1 = "foo";
var var2 = "bar";
var i = 1;
i++; 

console.log(`var${i}`);  // give me "var2"
console.log(typeof `var${i}`); // == srting` 
我想访问值“foo”或“bar”,但我缺少了一些东西,因为我只得到了变量的名称


我关于stack的第一个问题,所以如果它不完美,请让我知道我将添加详细信息,谢谢

如果变量是在全局范围内定义的,则它们是窗口对象的属性

var var1=“foo”;
var var2=“bar”;
var i=1;
i++;
log(窗口[`var${i}`])您可以使用来执行动态代码

var var1=“foo”;
var var2=“bar”;
var i=1;
i++;
console.log(eval('(var'+i+'));//给我“var2”

console.log(eval('(typeof(var'+i+))));//=srting`
我认为你做不到这一点。但是,如果您的值是如此相关,以至于您要以它们命名变量并附加一个数字,为什么不使用一个数组并将值存储在数组中,然后通过索引访问它们呢<代码>var valueArray=[“foo”,“bar”];var i=0;i++;log(valueArray[i])
var var1=“你好”`${eval(“var”+1)}
将“起作用”(或
窗口[“var”+1]
用于全局变量)-这基本上只是询问的另一种方式:“如何通过名称获得变量的值?”隐藏在插值中,这在别处得到了回答。请注意,
`..
的内容被视为一个表达式。我建议使用合适的收藏,而不是这样的。。特殊性。请参见和类似的
无论您的范围是什么,这个['var'+i]
都应该得到您想要的in@user2864740谢谢你的澄清。是的,我的意思是它将适用于在当前上下文中定义的变量。谢谢!我将尝试数据对象,因为我认为它是我的情况下最好的。谢谢你的回答!