首页 > 解决方案 > 如何在eval中使用动态字符串

问题描述

let value = 'italic';
let varname = "fontSizeTitle";
eval(varname + "=" + value);

console.log(fontSizeTitle)

我有一个大项目,我用它eval()来将动态变量分配给动态字符串。这里的问题是它会抛出一个错误,italic is not defined但是如果我想将值用作字符串但又是动态的?我怎么知道eval()我想要value动态。很抱歉没有发布我的项目代码,但它也是这里的确切场景。

标签: javascripteval

解决方案


italic字符串文字而不是变量名吗?如果是这样,您必须用引号括起来才能设置它。

您当前的eval声明是这样做的:

fontSizeTitle = italic

这可能是它应该是的:

fontSizeTitle = 'italic'

以下代码片段将显示此工作:

let value = 'italic';
let varname = "fontSizeTitle";
let statement = varname + "='" + value + "'";
console.log(statement);
eval(statement );

console.log(fontSizeTitle)

我已将语句本身添加到控制台日志中,以便您可以查看实际执行的内容。


推荐阅读