請寫出下面代碼的輸出內(nèi)容:
const test = 2
switch (test) {
case 1:
console.log(1)
case 2:
console.log(2)
case 3:
console.log(3)
default:
console.log('default')
}
各位大佬看完這幾句代碼, 可能會覺得智商受到了侮辱: are you kidding me ?? 問我這么簡單的問題, 瞧不起誰呢??是覺得我的發(fā)型不夠程序員嗎? 最后肯定是輸出 "2" 啊!

鄙視你
但是看似簡單的地方, 卻比較容易出錯.
讓我們運行一下這段代碼, 看一下最后的輸出結(jié)果:

結(jié)果并不是2
最后的結(jié)果是: 2 3 default

wtf
為啥會這樣呢?
如果大佬們再仔細(xì)看一下這段代碼, 就會發(fā)現(xiàn): 每個case語句中, 都沒有進行break, 也就是說, 代碼執(zhí)行完了 case 2子句之后, 并沒有跳出switch, 而是繼續(xù)執(zhí)行switch中的下一個語句, 接著打印出了3 default
看一下MDN是如何解釋的:
完.
以上內(nèi)容同步更新到了我的公眾號每天刷一題, 大佬, 來都來了, 關(guān)注下吧, 會不定期贈送學(xué)習(xí)資料的!

每天刷一題