我写代码时对if逻辑是比较反感的,说不出原因,用户体验不爽,因此总会使用三元运算符来规避if逻辑,看起来代码量少,简洁。对于操作单条的代码,这种方式就可以很容易的使用三元运算符来替换,比如:
[javascript]
if(flag){
doSth();
}else{
doAnotherSth();
}
//可以替换为:
flag ? doSth() : doAnotherSth();
[/javascript]
单条的很容易,但是对于多条操作语句呢?这时候该怎么来避免使用if。答案还是从三元运算符中找,例如:
[javascript]
if(flag){
c = "ss";
d ="none";
e.style.display="block";
}else{
c = "cc";
d ="normal";
e.style.display="none";
}
//这个时候,还是可以通过一点小技巧来实现的:
flag ? ( c = "ss",d="none",e.style.display="block") : (c = "cc",d="normal",e.style.display="none");
[/javascript]
各个操作语句之间使用逗号“,”组合起来,再加上小括号,就可以执行了。为此,可以较少一些字节,也使得代码简洁起来。
周爱民的书中有很大的篇幅关于这个的。
http://book.csdn.net/bookfiles/641/10064120471.shtml
“函数式语言重在“运算”,所以应该使用连续的运算来代替if之类的结构语句”,还是你说的直接点
第一次来,总得留个脚印先,祝你的博客越办越好,内容越来越丰富!
为啥说if是丑陋地捏。。。if也还好啊。可读性不错
一连串的if下来,代码看起来不爽
这叫做三目运算...哦了?
我的前端站点:http://www.web666.net
Dom原创手册:http://www.web666.net/dom