/**多重if else的改进方案**/
//方法一:用 switch case 代替。如:
switch(true) {
case (/userTask|multiTask/.test(cell.type)):
//userTask的处理办法;
break;
case(/callActivity/.test(cell.type)):
//调用活动的处理办法;
break;
case default:
//do something
break;
}
//方法二:用map结构。
var validateFunc = {
"userTask":function(){
//userTask的处理办法;
},
"callActivity":function(){
//调用活动的处理办法;
}
}
if(typeof validateFunc(cell.type) == "function") {
validateFunc[cell.type]();
} else {
//do something
}
/**
条件的分支很多时,使用switch...case的效率将高于多重if_else语句.(在汇编层switch...case是查找表,if语句是跳转:);
同样,{key:value,key2:value2}的map结构也是通过查表来执行
两者相比,switch...case 的优势在于适合于复杂的条件判断;
map结构表意更清晰**/
分享到:
相关推荐
TIA博途WINCC的触摸屏VB脚本入门学习(IF THEN ELSE判断语句)
TIA博途WINCC的触摸屏VB脚本入门(IF THEN ELSEIF 判断语句)
代码中大量的 if else如何优化.doc
if else 语句
该文档使用Markdown格式编写,详细介绍了如何编写一个简单的if-else判断语句,并提供了一个判断正负数的示例程序。源代码中展示了函数的实现过程,包括使用`if`和`else`来进行条件判断和分支控制。文档还演示了如何...
if-elseif-else使用范例
用InputBox和If then Else,if elseif,SelectCase三种方法判断分支函数的应用程序,.net源代码.
delphi if else 语句使用方法
asp.net---- if else 语句
此课设是if else 条件语句的翻译程序. 功能说明如下: 1.整体词法分析; 2.if else语法分析,递归下降法. 3.三地址形式代码格式输出; 4.变量符号表的实现,即先定义变量才可以使用; 5.出错提示,具体行数出错...
VS2015 if else for 代码折叠,VS2015 if else for 代码折叠,VS2015 if else for 代码折叠,VS2015 if else for 代码折叠,VS2015 if else for 代码折叠
使用策略模式和工厂模式彻底消除if-else分支
NULL 博文链接:https://weijs.iteye.com/blog/2064336
11.24 sed,if else语句,写文件linux万年历命令11.24 sed,if else语句,写文件linux万年历命令
通过在quartus中仿真并分析综合后的RTL图,分析了多个else_if级联对综合结果的影响,说明了为什么我们要避免这样的代码风格。提出了解决办法,包括使用多个if_else来代替else_if的多级级联,还有用casex语句来代替多...
[C語言][教學]_基本語法#13._條件判斷if_else與布林值Boolean
VS2012 C# 将代码中的 if else for折叠插件
IF-ELSE条件语句的翻译程序设计(递归下降法、输出三地址表示)
set标签、push标签、if/elseif/else标签、iterator标签、sort标签
在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else,就像这样: 代码如下: if condition then command1 command2 … commandN fi 当然,也可以写成一行(适用于终端命令提示符),像...