【发布时间】:2017-06-05 12:53:24
【问题描述】:
假设我有一个 switch 语句,它接受一个介于 1 和某个更大值之间的变量 myData,即 300。
根据“状态码”变量,结果是另一个变量的文本值。例如,如果myData == 1,我想返回一个名为code1 的变量。如果myData == 300,我想返回一个名为code300 的变量。 Code1 和 code300 变量存储不相关的字符串,即“This is a summary”或“This is a note”。下面是一些伪代码:
var myData = statusCode;
var code1 = "This is a summary";
var code300 = "This is a note";
switch(myData) {
case statusCode:
scriptletResult = returnCode("code", statusCode); // code1 if myData == 1
break;
default:
scriptletResult = code1;
}
function returnCode(code, statusCode) {
return code + statusCode; // Returns a variable "code1" if statusCode == 1
}
我怎样才能让它工作?
【问题讨论】:
-
codeX变量是原样吗,还是可以将它们移动到以代码为关键的对象中? -
它们是原样的,预定义的。
-
你要求的是变量变量,它在 Javascript 中不起作用。理智的事情是有一个从键到值的数组或对象映射,所以你可以做一个简单的
codes[myData]。 -
你完全可以拥有可变变量——使用
window[variableName](数组语法)。 -
@Feathercrown 假设所有必需的
code变量都是全局变量
标签: javascript switch-statement