Javascript JS开关盒不工作
我有一个switch case语句不起作用。我已经检查了输入,它是有效的。如果用户为1,则它将变为默认值。如果user是任意数字,则为默认值。这里怎么了?我对javascript一点也不了解Javascript JS开关盒不工作,javascript,switch-statement,Javascript,Switch Statement,我有一个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
break;
}
问题是数据类型不匹配。将用户的类型强制转换为整数。确保不要混合字符串和整数。
尝试:
将用户变量的类型强制转换为整数
switch (+user) {
case 1: .. //
}
Javascript是类型感知的。所以“1”和1不一样。在您的情况下,“用户”必须是数字,而不是字符串。您可以通过以下方式进行施放:
user = Number(user)
变量
user
包含什么?一个对象
或一个int
?这就是为什么我更喜欢强输入:)克里斯,试试开关(~~用户)
如何?我以为你在js中所做的只是vardefault
不必break
user = Number(user)