Javascript 如何强制将字符串 + 变量评估为变量

Javascript How do I force a string + variable to be evaluated as a variable

本文关键字:变量 评估 字符串 何强制 Javascript      更新时间:2023-09-26

我什至不知道如何措辞,这可能就是我在谷歌中找不到答案的原因。

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

我不确定实现这一目标的正确语法是什么。

var currentCardSelected = "cardSelected" + currentCardRow;

感谢您的帮助!

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 将解决您当前的问题。

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

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