Если заявление в случае переключения - JS
Можете ли вы использовать операторы IF в случае Switch.
Оба первых утверждения каждого случая работают нормально, но операторы 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");
}
}
2 ответа
Решение
Да, ты можешь.
Обратите внимание, что '=' является оператором присвоения. Для сравнения значений используйте равенство '==' или '===', которое является оператором идентичности.
Итак, у вас есть проблема в утверждениях else if:
else if (CarryQuantity = 0)
которые должны быть:
else if (CarryQuantity == 0)
который обрабатывает автоматическое преобразование типа или
else if (CarryQuantity === 0)
который можно использовать, если CarryQuantity является числом, а не строкой.
Если он работает, то код действителен... Вы говорите, может это. Если остальные не работают, то нет.