javascript - 一个 switch 语句中包含多个表达式

标签 javascript switch-statement processing.js

这是我第一次在 Javascript 中使用 switch 语句。有没有一种方法可以在一个 switch 语句中评估多个条件,如下所示:

var i = 1;
switch(i && random(1)<0.3) {
    case (1):
        //code block
         break;
    case (2):
        //code block
} 

如果两个条件都为真,代码块就会执行?

最佳答案

可以这样编写 switch 语句:

switch (true) {
  case a && b:
    // do smth
    break;
  case a && !b:
    // do other thing
    break;
}

您需要记住的唯一一件事是 && 不仅可以返回 bool 值,还可以返回任何其他值,例如'a'(在上面的代码片段中)解析为某个错误值。如果 'b' 是字符串 - 则 a && b(其中 a 为 false)应返回字符串。
因此,当您使用此模式时,请始终确保 && 表达式的右侧解析为 bool 值。

关于javascript - 一个 switch 语句中包含多个表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38556490/

相关文章:

javascript - 墨卡托经度和纬度计算到裁剪 map (英国)上的 x 和 y

javascript - 将 JS 对象中的所有属性返回到 "empty"状态

c# - 更改单击按钮上的切换选项卡

javascript - 循环动画功能

javascript - 只想要 leftArrow 右箭头和数字

c++ - 在 switch case 中使用 std::map

java - 如何使我的交换机保护套在JFrame上起作用?

c# - 为什么 C# 不允许在 switch 语句的不同 case block 中声明具有相同编号的变量?

javascript - 是否可以每帧只执行一次draw()?

javascript - Processing.js 会影响整个网页吗?