“原始帖子”:此函数应将“ a”的值与其他几个值进行比较,但始终为默认值。我的测试表明,“ a”或“ b”的值从未更改。我是否有>语句不正确或其他情况?
现在我知道我不能在case语句中使用比较:
我是否应该使用一堆if语句和一会儿(a <> = 0)进行多次检查和递减?
下面的代码段显示带有特定值的“ a”。在完整函数中,实际上“ a”是从另一个函数的随机数中获取一个值。必须对照16个可能的值对其进行检查并递减,然后再次检查直到最终达到0。比较值实际上是2的幂(1到16)。
function solution() {
var a = 18000;
var b = 0;
switch (a) {
case a > 30000:
a = a - 30000;
b = b++;
break;
case a > 16000:
b = b++; a = a - 16000;
break;
case a > 8000:
b = b++; a = a - 8000;
break;
default:
c = "defaulted!, Why?";
break;
}
window.alert (a + " " + b + " " + c);
}
简而言之,您不能在switch
大小写标签中使用布尔表达式。您需要将代码重写为一系列if
语句。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句