我有这么长的代码行,我想知道这些代码是否可以从这个转换
if(BtnInteracted == "New"){
if(sample_1.SaveSlotNumber == "1"){
if(){
}
else{
}
}
else if(sample_1.SaveSlotNumber == "2"){
if(){
}
else{
}
}
else if(sample_1.SaveSlotNumber == "3"){
if(){
}
else{
}
}
}
else if (BtnInteracted == "Con"){
if(sample_1.SaveSlotNumber == "1"){
if(){
}
else{
}
}
else if(sample_1.SaveSlotNumber == "2"){
if(){
}
else{
}
}
else if(sample_1.SaveSlotNumber == "3"){
if(){
}
else{
}
}
}
到此。
switch(BtnInteracted){
case "New": switch (sample_1.SaveSlotNumber){
case "1": //if() else() statement;
case "2": //if() else() statement;
case "3": //if() else() statement;
} break;
case "Con": switch (sample_1.SaveSlotNumber){
case "1": //if() else() statement;
case "2": //if() else() statement;
case "3": //if() else() statement;
} break;
}
是否可以制作此代码或我的原始代码是我唯一的选择? 谢谢你的回复!
答案 0 :(得分:3)
您必须小心break
语句,但它会起作用。你可以嵌套交换机,但我个人认为内部交换机不易读取;我更喜欢把东西传递给函数:
switch(BtnInteracted)
{
case "New":
{
startFrom(sample_1.SaveSlotNumber);
break;
}
case "Con":
{
continueFrom(sample_1.SaveSlotNumber);
break;
}
}
然后在按钮中使用新开关
function startFrom(index:int):void
{
trace("start from ", index);
switch(index)
{
case 1:
{
// do something
break;
}
case 2:
{
// do something
break;
}
}
}
function continueFrom(index:int):void
{
trace("continue from", index);
switch(index)
{
case 1:
{
// do something
break;
}
case 2:
{
// do something
break;
}
}
}
在很多情况下,你需要多次使用该功能和其他输入,所以你不必重复自己,并清楚地了解特定案例会发生什么。