在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");
}
}
答案 0 :(得分:-1)
是的,可以。
请注意,“ =”是赋值运算符。要比较值,请使用等于运算符'=='或'==='。
因此,您在else if语句中遇到问题:
else if (CarryQuantity = 0)
应为:
else if (CarryQuantity == 0)
可处理自动类型转换或
else if (CarryQuantity === 0)
如果CarryQuantity是数字而不是字符串,则可以使用。
答案 1 :(得分:-2)
如果它运行,则该代码有效...您是说可以。如果其他的都没有运行,那么就不能。