Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Не срабатывает CASE


Автор: Treod 12.8.2011, 14:17
Здравствуйте.
Не срабатывает CASE.

Код

switch(v) {
                case ((v>=2500) && (v<=5000)) :
                    alert("Hello");
                    vkMan = 12.9;
                    break;
                case ((v>5000) && (v<=10000)) :
                    vkMan = 12.255;
                    break;
                case ((v>10000) && (v<=15000)) :
                    vkMan = 11.997;
                    break;
                case ((v>15000) && (v<=20000)) :
                    vkMan = 9.9;
                    break;
                case ((v>20000) && (v<=30000)) :
                    vkMan = 9.4
                    break;
                case ((v>30000) && (v<=50000)) :
                    vkMan = 8.9;
                    break;
                case (v>50000) :
                    vkMan = "Öåíà îãîâàðèâàåòñÿ îòäåëüíî";
                    //Çàïóñêàåì ôóíêöèþ, êîòîðàÿ âåçäå âûâîäèò, ÷òî öåíà îãîâàðèâàåòñÿ îòäåëüíî
                    myPrintTotal();
                    return;
            }

Автор: ayax2005 12.8.2011, 15:29
может быть v<2500?

Автор: Treod 12.8.2011, 15:58
Нет. Нижний порог 2500. 

Автор: CruorVult 12.8.2011, 16:14
Цитата(Treod @  12.8.2011,  15:58 Найти цитируемый пост)
Нижний порог 2500

это понятно! а само значение переменной "v", при котором не срабатыват нужный кейс, какое?

Автор: Treod 12.8.2011, 16:46
Я разные значения вводил. И 5000, и 2501 и т. д.

Автор: Amphiluke 12.8.2011, 20:06
Откуда вы вообще взяли такую конструкцию?
Вы понимаете, что в каждом из своих case вы сравниваете значение переменной v либо с true, либо с false?
Оператор switch не умеет работать с диапазонами, как делает это оператор case в Delphi. Он ищет точное совпадение значения переменной с выражениями в case. А у вас там стоят логические выражения, которые возвращают либо true (= 1), либо false (= 0)

Автор: Treod 13.8.2011, 10:17
Ясно. Спасибо. Тема закрыта.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)