【发布时间】:2016-04-06 21:09:35
【问题描述】:
晚上好/早上好(取决于你的位置),
我是一个新手“开发者”(JS/Meteor 平台),每天我都会发现关于 JS 的新事物。知道我的低级,没那么难……
我目前想知道编写switch(true) 的最佳方式/实践。
更准确地说,我有一个 Switch statement 和类似 20 cases 的东西。
目前,我决定不将一些cases 嵌套在一起,我发现它不太容易阅读。所以我的陈述看起来像这样:
switch()
case 1
case 2
case 3
case 4
case 5
case 6
...
default
而不是类似的东西:
switch()
case 1
if
elseif
else
//or
case 2
switch()
case 2.1
case 2.2
我的问题是:每个案例都测试了 5 个以上的函数。所以case基本上是这样写的:
case ( function1()
&& function2()
&& function3() == null
&& typeof abc[1] === 'undefined'
&& function4() === 'xyz') : //etc...
有没有更好的链接函数的方法?
我目前正在以 jQuery 方式查看链接方法:function().function2().function3()... 但我不知道它是否有更好的方法来处理这种情况。
我很高兴收到您的反馈/建议以及您推荐的任何阅读/讲座。我也希望这个问题对 SO 来说是“正确的”。
非常感谢。
【问题讨论】:
-
你为什么用switch?
-
您到底想达到什么目的?提供更多上下文会使您的问题更清晰。我还没有发现自己需要使用
switch语句。 -
我们需要更多关于您要解决的实际问题的详细信息。你在写自动化单元测试之类的吗?
-
我们需要看到实际的问题和代码(不仅仅是一个理论问题),以便为更好的方法提供好的想法。解决此类问题的最佳方法取决于代码的具体情况。没有更好的方法的通用答案。
标签: javascript function optimization chaining