如何在交换机内显示警报

时间:2019-01-04 15:19:48

标签: javascript

我做了一个小测试程序,向用户展示他们从具有一定价值中获得了哪些好处。 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") 警报没有显示

3 个答案:

答案 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,这是因为提示符正在读取为字符串。

引用w3schools:

    (返回)一个字符串。
如果用户单击“确定”,则返回输入值。
如果用户单击“取消”,则返回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");
}