Javascript 开关范围

标签 javascript switch-statement

<分区>

我最近开始玩桌面游戏,不想手动处理计算。此外,大多数应用程序在任何给定时间都存在某种问题。我刚开始编写基本的 javascript,似乎无法让开关与范围一起工作。它恢复为默认值。我的代码稍后在下面,我将把各种修饰符/属性放入一个数组中,但我希望基本代码首先起作用。

    <script>
var strMod=0;
var strength = prompt("what is your strength?");


switch(strength){
    case (strength>=0 && strength<2):
        strMod=-5;
        break;
    case (strength>=2 && strength<4):
        strMod=-4;
        break;
    case (strength>=4 && strength<6):
        strMod=-3;
        break;
    case (strength>=6 && strength<8):
        strMod=-2;
        break;
    case (strength>=8 && strength<10):
        strMod=-1;
        break;
    case (strength>=10 && strength<12):
        strMod=0;
        break;
    case (strength>=12 && strength<14):
        strMod=1;
        break;
    case (strength>=14 && strength<16):
        strMod=2;
        break;
    case (strength>=16 && strength<18):
        strMod=3;
        break;
    case (strength>=18 && strength<20):
        strMod=4;
        break;
    case (strength>=20 && strength<22):
        strMod=5;
        break;
    default:
        strMod= prompt("what is your strength modifier?");
        break;
}
console.log(strMod);
</script>

最佳答案

switch(strength) 更改为 switch(true)。这应该有效,因为您将 case 语句的结果与值 true 进行比较,而不是与 strength 的值进行比较。

JSFiddle:https://jsfiddle.net/eusw15g9/

有关更多信息,请参阅此已接受的答案:Expression inside switch case statement

关于Javascript 开关范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35803108/

相关文章:

java - 如何退出 switch 语句并返回到 While 循环?

javascript - 如何在extjs4中添加创建窗口的功能?

javascript - TypeScript AMD 到浏览器上的单个文件

c# - 在 asp.net 中使用表格打印 GridView

javascript - 宽度动画期间的跳跃元素

javascript - 评估 JavaScript 语句中的一个特定函数

c# - 如何在 switch 语句中使用字符串资源

javascript - 这个 if 语句可以是一个 switch 语句并且更漂亮或更简单吗?

c++ - 在 case 语句标签中使用函数调用

java - 陷入无限 While 循环(使用 switch 语句)