我有一个不起作用的 switch case 语句。我检查了输入,它是有效的。如果用户为 1,则默认。如果 user 是任意数字,则默认。这里有什么问题?我根本不了解javascript。
switch (user) {
case 1:
// stuff
break;
case 2:
// more stuff
break;
default:
// this gets called
break;
}
我有一个不起作用的 switch case 语句。我检查了输入,它是有效的。如果用户为 1,则默认。如果 user 是任意数字,则默认。这里有什么问题?我根本不了解javascript。
switch (user) {
case 1:
// stuff
break;
case 2:
// more stuff
break;
default:
// this gets called
break;
}
确保您没有混合字符串和整数。
尝试:
switch (user) {
case "1":
// stuff
break;
case "2":
// more stuff
break;
default:
// this gets called
}
问题是数据类型不匹配。将用户类型转换为整数。
将用户变量的类型转换为整数
switch (+user) {
case 1: .. //
}
Javascript 是类型感知的。所以'1'与1不同。在你的情况下,“用户”必须是数字,而不是字符串。您可以通过以下方式进行投射:
user = Number(user)