我最近进入了一个项目,该项目需要两种不同的方法来处理两个不同的变量,但我需要存储这两个值以便在另一个函数中使用它们。
这有点复杂,所以让我解释一下。我有这个 switch 语句可以监视几个数字:2、3、13、45
var hello;
switch ($variable) {
case 2:
//do something irrelevant
break;
case 3:
//do something irrelevant
break;
case 13:
//do something with variable named "hello". Ex.:
alert(hello);
break;
case 45:
hello = "hello";
break;
}
如您所见,我需要在变量获取值之前获取“hello”的值。我不能改变顺序,也不能改变变量声明,所以我必须对这个设置做点什么。
我的想法是在 13 中进行函数调用:
function getMyVariable(variable) {
var v = variable;
return variable;
}
case 13:
getMyVariable(hello);
break;
那么当然该函数仍将返回未定义。
我想做的是让函数等待45中设置的变量:
(请注意,这只是推测,此代码无法正常工作)
case 45:
hello = "hello";
getMyVariable(hello);
break;
function getMyVariable(variable) {
//function gets call from case 13
//if type is undefined, wait for a variable that isn't undefined
//if variable isn't undefined return the variable
}
所以基本上首先调用skip case 13,让case 45设置变量,然后回到case 13,执行这里的代码。你可以跟我来吗?如果您需要更多信息,请告诉我!