0

您可以在 Switch 的情况下使用 IF 语句吗?

每个案例的第一个语句都可以正常工作,但 else IF 语句不能:s

任何帮助将不胜感激!

switch (units) {
    case "Days" :
            if (CarryQuantity > 5)  {MakeFieldInvalid("CARRY_OVER", "You can only carry over a maximum of 5 days"); 
                }

                else if (CarryQuantity = 0) { MakeFieldInvalid("CARRY_OVER", "The value of holiday carry-over days must be greater than zero"); 
                }

                    else  {MakeFieldValid("CARRY_OVER");
                }

        break;
    case "Hours" :
            if (RGBCarryQuantity > 40)  {MakeFieldInvalid("RGB_CARRY_QUANTITY_2", "You can only carry over a maximum of 40 hours.");
                }

                else if (RGBCarryQuantity = 0)  {MakeFieldInvalid("RGB_CARRY_QUANTITY_2", "The value of holiday carry-over hours must be greater than zero");
                }

                    else {MakeFieldValid("RGB_CARRY_QUANTITY_2");
                }

        break;
    default :
        MakeFieldValid("CARRY_OVER");
        MakeFieldValid("RGB_CARRY_QUANTITY_2");
}

}
4

2 回答 2

-1

是的你可以。

请注意,'=' 是一个赋值运算符。要比较值,请使用相等性 '==' 或 '===' 这是身份运算符。

所以你在 else if 语句中有问题:

else if (CarryQuantity = 0)

那应该是:

else if (CarryQuantity == 0)

处理自动类型转换或

else if (CarryQuantity === 0)

如果 CarryQuantity 是数字而不是字符串,则可以使用它。

于 2018-11-04T17:35:17.107 回答
-2

如果它运行,那么代码是有效的......你说它可以。如果其他的没有运行,那么不它不能。

于 2018-11-04T17:28:54.743 回答