我有以下 switch 语句:
switch (result.innerHTML) {
case "":
case " ":
result.innerHTML = "Stage1";
result.style.backgroundColor = "green";
break;
case "Stage1":
result.innerHTML = "Stage2";
result.style.backgroundColor = "red";
break;
case "Stage2":
result.innerHTML = "Stage3";
result.style.backgroundColor = "yellow";
break;
case "Stage3":
result.innerHTML = "Stage4";
result.style.backgroundColor = "pink";
break;
case "Stage4": //start over
result.innerHTML = "";
result.style.backgroundColor = "";
break;
default:
}
在 JavaScript 中是否有另一种简洁的方法来做到这一点?也许使用数组或 JavaScript 对象?
最佳答案
我喜欢这个开关。它易于阅读和理解。有时更短的代码并不总是更好的代码。
这是一个替代方案。
var states {
"": ["Stage1","green"],
" ": ["Stage1","green"],
"Stage1": ["Stage2","red"],
"Stage2": ["Stage3","yellow"],
"Stage3": ["Stage4","pink"],
"Stage4": ["",""]
};
if(result.innerHTML in stages)
{
result.style.backgroundColor = stages[result.innerHTML][1];
result.innerHTML = stages[result.innerHTML][0];
}
关于javascript - 除了 switch 语句之外的不同写法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18167377/