Javascript如何强制将字符串+变量作为变量进行求值

时间:2013-10-25 03:40:42

标签: javascript jquery

我甚至不确定怎么说这个,这可能就是我在谷歌找不到答案的原因。

当代码运行时,currentCardRow将等于1,因此它应该是cardSelected1,这是console.log中显示的内容。我需要它更进一步,因为cardSelected1是一个变量,我需要它来评估控制台日志中显示为邀请。邀请是cardSelected1的变量示例。

我不确定使这种情况发生的正确语法是什么。

var currentCardSelected = "cardSelected" + currentCardRow;

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

JavaScript有一个Eval()函数,允许您将字符串计算为javascript代码。

例如

var bar = "123";
var foo = "bar";
console.log(eval(foo));

将“123”打印到控制台。

有关eval的更多信息,请参阅MDN文档。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval

通常,使用eval()被认为是不好的做法,因为它使代码难以阅读。可能有更优雅的解决方案来实现您所描述的内容,但是,eval将解决您当前的问题。

答案 1 :(得分:0)

var currentCardSelected = eval("cardSelected" + currentCardRow);

这就是我的问题解决方法。