Если заявление в случае переключения - 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 является числом, а не строкой.

Если он работает, то код действителен... Вы говорите, может это. Если остальные не работают, то нет.

Другие вопросы по тегам