У меня проблема в некотором JavaScript, который я пишу, где оператор Switch не работает должным образом.Заявление об отключении JavaScript
switch (msg.ResultType) {
case 0:
$('#txtConsole').val("Some Val 0");
break;
case 1:
$('#txtConsole').val("Some Val 1");
break;
case 2:
$('#txtConsole').text("Some Val 2");
break;
}
ResultType - целочисленное значение 0-2, и я вижу это в FireBug. Во всех случаях коммутатор передает управление команде окончательного разрыва, что означает, что вся логика полностью пропущена. Что мне не хватает?
ВСЕГДА укажите второй параметр parseInt! Это радикс, поэтому вы, вероятно, захотите: parseInt (msg.ResultType, 10); Если вы не поставите его, он попытается угадать, что произойдет, и произойдут ужасные вещи. – rmeador 2008-10-30 14:12:29
Ну, ужасные вещи произойдут, если вы передадите что-то вроде 077, которое будет интерпретироваться как восьмеричное (но не 078, например), или 0x10, но во втором случае довольно ясно, что у вас есть база 16. В любом случае добавление radix явно не повредит, так что это тоже неплохая идея. – 2008-10-30 14:25:45