javascript - 如何在eval中使用动态字符串
问题描述
let value = 'italic';
let varname = "fontSizeTitle";
eval(varname + "=" + value);
console.log(fontSizeTitle)
我有一个大项目,我用它eval()
来将动态变量分配给动态字符串。这里的问题是它会抛出一个错误,italic is not defined
但是如果我想将值用作字符串但又是动态的?我怎么知道eval()
我想要value
动态。很抱歉没有发布我的项目代码,但它也是这里的确切场景。
解决方案
是italic
字符串文字而不是变量名吗?如果是这样,您必须用引号括起来才能设置它。
您当前的eval
声明是这样做的:
fontSizeTitle = italic
这可能是它应该是的:
fontSizeTitle = 'italic'
以下代码片段将显示此工作:
let value = 'italic';
let varname = "fontSizeTitle";
let statement = varname + "='" + value + "'";
console.log(statement);
eval(statement );
console.log(fontSizeTitle)
我已将语句本身添加到控制台日志中,以便您可以查看实际执行的内容。
推荐阅读
- vb.net - 如何将控件动态添加到winform
- php - How can I update user password in Laravel 5?
- c - Building a embedded C client for AWS IoT with C SDK: mbedtls libraries
- javascript - 当从 ng-options 中删除所选选项时第二次触发 ng-change - AngularJS 1.7
- python - 具有重复模式的 Numpy 数组
- node.js - Node js redis一次设置数据
- html - 当鼠标在公共块之外时如何使动画结束?
- c# - 我可以让 C# 脚本读取 C# 并按照它读取的内容进行操作吗?我该怎么做?
- r - Shiny - 如何使用 checkboxGroupInput 过滤表格和箱线图中的变量
- sql - 将整列作为参数的 PL/SQL 函数