我想在开关盒中使用变量。举个例子,做不到。你能帮忙吗?
switch(basket,pay){
case true, true:
blah blah...
break;
case false,true:
blah blah..
break;
case false, false:
blah blah...
break;
}
您正在寻找的是flags and bitmasks。基本上,您可以在相同的变量中存储多个伪布尔值,并且可以访问它们的复合条件。这样做的好处是您可以将多个属性组合到一个变量中。当您需要跟踪更多布尔属性时,这尤其好用。
var FLAG_BASKET = 0x1; // 0001
var FLAG_PAY = 0x2; // 0010
//set them both to pseudo-true
var flags = FLAG_BASKET | FLAG_PAY;
switch (flags){
case 0x0://both are false
case 0x1://basket is true, pay is false
case 0x2://basket is false, pay is true
case 0x3://both are true
}
老实说,您的switch语句似乎没有必要。您应该可以使用一些简单的if
:
您编写的是合法的JavaScript,但未达到您的期望。
原始问题可以
使用此解决方案,您可以为开关提供多个参数: