JS开关盒无法正常工作

时间:2012-06-22 08:34:02

标签: javascript switch-statement

我有一个不起作用的switch case语句。我检查了输入,它是有效的。如果user为1,则为默认值。如果用户是任何号码,则默认为。这有什么不对?我根本不懂javascript。

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

4 个答案:

答案 0 :(得分:22)

确保没有混合字符串和整数 试试:

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

答案 1 :(得分:10)

问题是数据类型不匹配。将 user 的类型转换为整数。

答案 2 :(得分:5)

将用户变量的类型转换为整数

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

答案 3 :(得分:3)

Javascript是类型感知的。因此'1'与1不同。在您的情况下,“user”必须是数字,而不是字符串。你可以通过以下方式施放它:

user = Number(user)