第001题. 这个switch输出的是个啥? 你可能会做错哦...

Posted 橘子柚子橙子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第001题. 这个switch输出的是个啥? 你可能会做错哦...相关的知识,希望对你有一定的参考价值。

请写出下面代码的输出内容:

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 ?? 问我这么简单的问题, 瞧不起谁呢??是觉得我的发型不够程序员吗? 最后肯定是输出 "2" 啊!

技术图片

但是看似简单的地方, 却比较容易出错.
让我们运行一下这段代码, 看一下最后的输出结果:

技术图片

最后的结果是: 2 3 default

技术图片

为啥会这样呢?

如果大佬们再仔细看一下这段代码, 就会发现: 每个case语句中, 都没有进行break, 也就是说, 代码执行完了 case 2子句之后, 并没有跳出switch, 而是继续执行switch中的下一个语句, 接着打印出了3 default

看一下MDN是如何解释的:

可选的?break语句确保程序立即从相关的 case 子句中跳出 switch 并接着执行 switch 之后的语句。若?break?被省略,程序会继续执行?switch?语句中的下一条语句。

完.

以上内容同步更新到了我的公众号每天刷一题, 大佬, 来都来了, 关注下吧, 会不定期赠送学习资料的!

技术图片

以上是关于第001题. 这个switch输出的是个啥? 你可能会做错哦...的主要内容,如果未能解决你的问题,请参考以下文章

linux指令 2>&1 到底是个啥

ReactJs的虚拟dom是个啥情况?

从零学习PyTorch 如何残差网络resnet作为pre-model +代码讲解+残差网络resnet是个啥

啥都不懂Nginx高并发性能原因是个啥?

网易云音乐NCM文件是个啥东西?

UseCase是个啥概念?