請(qǐng)寫(xiě)出下面代碼的輸出內(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')
}
各位大佬看完這幾句代碼, 可能會(huì)覺(jué)得智商受到了侮辱: are you kidding me ?? 問(wèn)我這么簡(jiǎn)單的問(wèn)題, 瞧不起誰(shuí)呢??是覺(jué)得我的發(fā)型不夠程序員嗎? 最后肯定是輸出 "2"
啊!
但是看似簡(jiǎn)單的地方, 卻比較容易出錯(cuò).
讓我們運(yùn)行一下這段代碼, 看一下最后的輸出結(jié)果:
最后的結(jié)果是: 2 3 default
為啥會(huì)這樣呢?
如果大佬們?cè)僮屑?xì)看一下這段代碼, 就會(huì)發(fā)現(xiàn): 每個(gè)case語(yǔ)句中, 都沒(méi)有進(jìn)行break, 也就是說(shuō), 代碼執(zhí)行完了 case 2
子句之后, 并沒(méi)有跳出switch, 而是繼續(xù)執(zhí)行switch中的下一個(gè)語(yǔ)句, 接著打印出了3 default
看一下MDN是如何解釋的:
完.
以上內(nèi)容同步更新到了我的公眾號(hào)每天刷一題, 大佬, 來(lái)都來(lái)了, 關(guān)注下吧, 會(huì)不定期贈(zèng)送學(xué)習(xí)資料的!