为什么`switch`,`case`执行代码块即使没有匹配?

时间:2017-04-19 12:06:51

标签: javascript

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



var a = 1
switch(a){
    case 1:
		console.log(1)
    case 2:
		console.log(2)
}




1 个答案:

答案 0 :(得分:4)

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