我在寫某些JavaScript時出現問題,其中Switch語句似乎沒有按預期工作。JavaScript switch語句
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。基數明顯不會受到傷害,所以也不是一個壞主意。 – 2008-10-30 14:25:45