【发布时间】:2019-12-23 00:06:03
【问题描述】:
我正在制作一个控制台风格的网站,并正在制作一个读取和设置变量的命令。用户将在输入框中键入“Var(变量)(真/假)”。我使用数组将每个部分用空格分隔,因此“Var Red True”将是“Var”、“Red”、“True”。
在将数组的(变量)部分用作变量名时,我需要帮助。因此,如果用户输入“Var red true”,我需要一种方法来告诉 JavaScript 将变量“red”设置为 true,尽可能不使用一堆 ifs 语句。
这是我目前的代码。
(以下代码位于 if 语句中,该语句检查在文本框上按 Enter 后命令输入(输入框文本)是否以“VAR”开头。)(调用的“delivery(4)”函数不是负责设置变量,用于将文本打印到日志。)
var variablearray = commandinput.split(/(\s+)/).filter( function(e) { return e.trim().length > 0; } );
console.log(variablearray); // ["VAR", "(VARIABLE)", "TRUE/FALSE/READ"]
//Read the inputted variable - What variable will change
var input_var = variablearray[1];
//Read the 3rd term - The action to be preformed (True/False/Read) - What to do to variable
var third_term = variable array[2];
if (third_term == "TRUE") {
//**I need help with this part**
delivery(4, "Variable '" + input_var.toString() + "' has been set to " + window[input_var.toString()] + ".")
} else if (third_term == "FALSE") {
delivery(4, "Variable '" + input_var.toString() + "' has been set to " + window[input_var.toString()] + ".")
}
我尝试使用没有任何效果。
VAR input_var.toString = True - 和 - VAR input_var.toString() = True
"input_var.toString()" 确实返回需要更改的变量,但是我找不到更改所述变量的方法。 任何帮助,将不胜感激。
编辑:感谢 rajjix,问题已解决!使用“window[user_input_var] == true”来改变变量的工作原理。
【问题讨论】:
标签: javascript