V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
hailony
V2EX  ›  问与答

前端面试问题

  •  
  •   hailony · 2019-12-13 21:08:53 +08:00 via iPhone · 1579 次点击
    这是一个创建于 1789 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近面试前端,有人问我什么情况下使用 switch, 什么情况下使用 if。我想说我不喜欢用 switch,一般是用 if,分支多一点用表格驱动,但是没有说出口。我就随便说了些其他的。各位看官,这道题应该怎么回答才合适!
    8 条回复    2019-12-15 06:59:17 +08:00
    wu67
        1
    wu67  
       2019-12-13 22:25:10 +08:00 via Android
    超过 3 分支我会考虑 s,判断同一变量用 s,判断多个变量 i。大致就这样。其实 i 多了括号看着很蛋疼
    murmur
        2
    murmur  
       2019-12-13 22:30:51 +08:00
    我想选择相信 IDE,有没有大佬说下 switch 有自动打表的优化么
    一般也写不出这么复杂的逻辑
    murmur
        3
    murmur  
       2019-12-13 22:31:05 +08:00
    是编译器,写错了
    IGJacklove
        4
    IGJacklove  
       2019-12-13 22:31:18 +08:00
    你可以说一般会用 if,但不喜欢用 switch 就别说了把。。
    shintendo
        5
    shintendo  
       2019-12-13 22:36:06 +08:00
    switch 太僵硬了,我也不爱用,无脑 if,多了就 map,else 换行,两个空格,不写分号!
    jenschen
        6
    jenschen  
       2019-12-13 22:44:53 +08:00 via iPhone
    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
        7
    jingcoco  
       2019-12-14 09:46:02 +08:00
    看判断的分支数? 感觉用 if 就是如果多了自己也就晕了.感觉面试官如果往 Rxjs 方面引导问你会不会用事件驱动的方式去替换 if 感觉是看你掌握的知识是不是多. 但是说跟 switch 比... 性能差不了多少吧
    hailony
        8
    hailony  
    OP
       2019-12-15 06:59:17 +08:00 via iPhone
    @IGJacklove 那就炸了!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1101 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:52 · PVG 02:52 · LAX 10:52 · JFK 13:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.