我做了一个小测试程序,向用户展示他们从具有一定价值中获得了哪些好处。 case语句应用作“或”门。但是,当警报应显示在屏幕上而不显示时,问题就会出现。
我更改了一些值,但这没有用。使用JavaScript也是新手,所以我不知道现在该怎么做。
var strength = prompt("What is the value of strength?");
switch (strength) {
case 10 :
case 11 :
alert("+0");
break;
case 12 :
case 13 :
alert("+1");
break;
case 14 :
case 15 :
alert("+2");
break;
case 16 :
case 17 :
alert("+3");
break;
case 18 :
case 19 :
alert("+4");
break;
case 20 :
case 21 :
alert("+5");
break;
default : ("Please enter a value between 10 and 20");
}
当用户输入强度值时,应该显示该值的奖励。
示例:strength = 12 alert("+1")
警报没有显示
答案 0 :(得分:5)
提示返回一个字符串,您正在寻找数字。
var a = 10
switch (a) {
case 10:
console.log("a - yes");
break;
default:
console.log("a - no");
}
var b = "10"
switch (b) {
case 10:
console.log("b - yes");
break;
default:
console.log("b - no");
}
因此,您可以将开关更改为字符串,或者将提示更改为数字。有很多方法可以做到。
var strength = Number(prompt("What is the value of strength?"));
var strength = parseInt(prompt("What is the value of strength?"));
var strength = +prompt("What is the value of strength?");
答案 1 :(得分:0)
只需将strength
转换为整数:
var strength = parseInt(prompt("What is the value of strength?"));
switch (strength) {
case 10 :
case 11 :
alert("+0");
break;
case 12 :
case 13 :
alert("+1");
break;
case 14 :
case 15 :
alert("+2");
break;
case 16 :
case 17 :
alert("+3");
break;
case 18 :
case 19 :
alert("+4");
break;
case 20 :
case 21 :
alert("+5");
break;
default : ("Please enter a value between 10 and 20");
}
答案 2 :(得分:0)
您正在尝试将字符串strength
与一个整数值进行比较,例如:10
,这是因为提示符正在读取为字符串。
(返回)一个字符串。
如果用户单击“确定”,则返回输入值。
如果用户单击“取消”,则返回null。
如果用户单击“确定”而不输入任何文本,则为空返回字符串。
您可以使用parseInt()
函数将输入转换为int,如下所示:
var strength = parseInt(prompt("your message: "));
这是一个简短的修改版本:
var strength = parseInt(prompt("What is the value of strength?"));
switch (strength) {
case 11:
console.log("11");
break;
case 12:
case 13:
console.log("+1");
break;
case 14:
case 15:
console.log("+2");
break;
default : ("Please enter a value between 10 and 20");
}