前端面试问题

2019-12-13 21:08:53 +08:00
 hailony
最近面试前端,有人问我什么情况下使用 switch, 什么情况下使用 if。我想说我不喜欢用 switch,一般是用 if,分支多一点用表格驱动,但是没有说出口。我就随便说了些其他的。各位看官,这道题应该怎么回答才合适!
1588 次点击
所在节点    问与答
8 条回复
wu67
2019-12-13 22:25:10 +08:00
超过 3 分支我会考虑 s,判断同一变量用 s,判断多个变量 i。大致就这样。其实 i 多了括号看着很蛋疼
murmur
2019-12-13 22:30:51 +08:00
我想选择相信 IDE,有没有大佬说下 switch 有自动打表的优化么
一般也写不出这么复杂的逻辑
murmur
2019-12-13 22:31:05 +08:00
是编译器,写错了
IGJacklove
2019-12-13 22:31:18 +08:00
你可以说一般会用 if,但不喜欢用 switch 就别说了把。。
shintendo
2019-12-13 22:36:06 +08:00
switch 太僵硬了,我也不爱用,无脑 if,多了就 map,else 换行,两个空格,不写分号!
jenschen
2019-12-13 22:44:53 +08:00
if 其实可以过滤一些条件, 比如说
if(a>0){}else If(b>0){}else{}
第二个条件其实是 a<= 0 && b > 0
第三个条件是 a<= 0 && b<=0。

if 是一个萝卜一个坑,switch 不加 break 之类的。可以有瀑布流。

btw,java 的 switch 其实是转成 if 和 else。如果给个 null,有 default 也接不住,会报异常
jingcoco
2019-12-14 09:46:02 +08:00
看判断的分支数? 感觉用 if 就是如果多了自己也就晕了.感觉面试官如果往 Rxjs 方面引导问你会不会用事件驱动的方式去替换 if 感觉是看你掌握的知识是不是多. 但是说跟 switch 比... 性能差不了多少吧
hailony
2019-12-15 06:59:17 +08:00
@IGJacklove 那就炸了!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/628883

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX