2012-06-22 15 views
6

スイッチケースのステートメントが動作しません。私は入力を確認した、それは有効です。 userが1の場合、デフォルトになります。 userが任意の数値の場合、デフォルト値になります。ここで何が間違っていますか?私はまったくJavaScriptを知らない。JSスイッチケースが動作しない

switch (user) { 
case 1: 
    // stuff 
    break; 
case 2: 
    // more stuff 
    break; 
default: 
    // this gets called 
    break; 
} 
+1

変数 'user'には何が含まれていますか? 'オブジェクト'または 'int'? – user278064

+0

これは私が強く入力することを好む理由です: –

+0

Chris、 'switch(~~ user)'を試してください – KingRider

答えて

16

文字列と整数が混ざっていないことを確認してください。
試してください:ユーザー変数の

switch (user) { 
    case "1": 
     // stuff 
     break; 
    case "2": 
     // more stuff 
     break; 
    default: 
     // this gets called 
} 
+0

'default'は必要ない' break' – KingRider

10

問題はデータ型の不一致です。キャストタイプユーザーを整数に変換します。

+0

どのようにですか?私はあなたがjsで行うすべてがvarだと思った。 – Chris

4

キャストタイプはJavascriptがタイプに対応しており

switch (+user) { 
    case 1: .. // 
} 
2

整数へ。したがって、 '1'は1と同じではありません。あなたの場合、「ユーザー」は文字列ではなく数値でなければなりません。

user = Number(user) 
関連する問題