18

機能しない switch case ステートメントがあります。入力を確認しました。有効です。ユーザーが 1 の場合、デフォルトになります。user が任意の番号の場合、デフォルトになります。ここで何が問題なのですか?私はjavascriptがよくわかりません。

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

4 に答える 4

37

文字列と整数を混在させていないことを確認してください。
試す:

switch (user) {
    case "1":
        // stuff
        break;
    case "2":
        // more stuff
        break;
    default:
        // this gets called
}
于 2012-06-22T08:38:26.463 に答える
12

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

于 2012-06-22T08:37:55.267 に答える
11

ユーザー変数の型を整数にキャストする

 switch (+user) {   
    case 1: .. //
 }
于 2012-06-22T08:41:39.520 に答える
5

Javascript は型を認識します。したがって、「1」は1と同じではありません。あなたの場合、「ユーザー」は文字列ではなく数値でなければなりません。次の方法でキャストできます。

user = Number(user)
于 2012-06-22T08:42:03.967 に答える