如何通过连接创建另一个变量来访问javascript变量值?

如何通过连接创建另一个变量来访问javascript变量值?,javascript,Javascript,请看一下下面的代码- var abc_text = "Hello"; var def_text = "world"; function testMe(elem) { var xyz = elem+"_text"; alert(xyz); } testMe("abc"); testMe("def"); 我尝试将前缀传递给函数,并尝试通过连接打印一些预定义的值。但上面的示例只打印“abc_文本”和“def_文本”。。而不是“你好”和“世界”。我怎样才能让它工作 多谢各位 编辑

请看一下下面的代码-

var abc_text = "Hello";
var def_text = "world";

function testMe(elem) {
    var xyz = elem+"_text";
    alert(xyz);
}

testMe("abc");
testMe("def");
我尝试将前缀传递给函数,并尝试通过连接打印一些预定义的值。但上面的示例只打印“abc_文本”和“def_文本”。。而不是“你好”和“世界”。我怎样才能让它工作

多谢各位

编辑

我正在使用Jquery。

在本例中使用

var xyz = window[elem+"_text"];
在这种情况下,请使用

var xyz = window[elem+"_text"];

您可以计算xyz,但最好将abc_文本和def_文本存储在关联数组或对象中;

var text = {"abc" : "Hello", "def" : "Word"};

var text={“abc”:“Hello”,“def”:“Word”};

您可以计算xyz,但最好将abc_文本和def_文本存储在关联数组或对象中;

var text = {"abc" : "Hello", "def" : "Word"};

var text={“abc”:“Hello”,“def”:“Word”};

这里有一篇关于JavaScript中动态变量的非常好的文章:


这里有一篇关于JavaScript中动态变量的非常好的文章:


这(或交替评估)是正确的。但是wbdvlpr,请注意,很少需要在编写良好的代码中执行此操作。eval是邪恶的。eval只能在最罕见的情况下使用。从其他来源注入代码太容易了。@Jonathan:嗯。。。不,只有当您接受来自不可信来源的输入,然后盲目地将其传递给eval()时,这才很容易。但是它很慢,在这种情况下是不必要的;这当然足够了@乔纳森·芬格兰——是的,它起作用了。但关联数组对我来说似乎更好。谢谢。@wbdvlpr,哦,我同意。所问的问题是通过window[]方法解决的,但联合数组方法在总体上是更好的实践方法。这(或交替使用eval)是正确的。但是wbdvlpr,请注意,很少需要在编写良好的代码中执行此操作。eval是邪恶的。eval只能在最罕见的情况下使用。从其他来源注入代码太容易了。@Jonathan:嗯。。。不,只有当您接受来自不可信来源的输入,然后盲目地将其传递给eval()时,这才很容易。但是它很慢,在这种情况下是不必要的;这当然足够了@乔纳森·芬格兰——是的,它起作用了。但关联数组对我来说似乎更好。谢谢。@wbdvlpr,哦,我同意。所问的问题是通过window[]方法解决的,但总体上来说,关联数组方法更适合于实践这一切听起来都是错误的方法。为什么需要变量名?这听起来好像是错误的方法。为什么需要变量名?只是为了让erenon的观点更清楚。例如,可以使用var xyz=text[elem]来访问它;感谢@Ernon,再次感谢Jonathan Fingland的使用代码。只是为了让Ernon的观点更清楚。例如,可以使用var xyz=text[elem]来访问它;感谢@erenon,再次感谢Jonathan Fingland提供的使用代码。