考虑以下JS片段。即使case: 2
不匹配,它也会打印1和2!
我知道,我可以使用break;
来防止这种情况,但我想了解这背后的真正逻辑。因为没有匹配时执行一个块是没有意义的。
var a = 1
switch(a){
case 1:
console.log(1)
case 2:
console.log(2)
}

答案 0 :(得分:4)
Switch case语句就像goto一样工作。这意味着如果您与标签匹配,则直接跳转到它。您的代码流不会受到影响。