if ($a==$b){
if ($c==$d){
$e=$f;
}
}
if(($a==$b) && ($c==$d)){
$e=$f;
}
这两种写法,哪种更好呢?
if ($c==$d){
$e=$f;
}
}
if(($a==$b) && ($c==$d)){
$e=$f;
}
这两种写法,哪种更好呢?
1
duhastmich Nov 22, 2011
$a==$b && $c==$d && $e=$f
|
2
chloerei Nov 22, 2011
第2种相对好。
#1楼的以后维护的人肯定咒骂 要做到最好,$a == $b 和 $c == $d 写成有语义的方法。 |
3
xatest Nov 22, 2011
我一般写成后者,语句少一点简洁一点~除非是想在语义上表达更明确一点,语义上的区别在于:
前者强调$a==$b是个重要前提,满足的前提下才判断$c==$d,有先后顺序~ 后者虽然在运算符优先级上也是先判断$a==$b的,但是语义上这2个判断是并列的关系~ |
4
All Nov 23, 2011
问下 如果 $a!=$b 那么2种情况下 还会做$c==$d的判断吗?
|
5
benzhe Nov 23, 2011
@All 在js里不会,可以试一下:
javascript:var wa=0;if((1==0)&&(wa=1)) return;alert(wa); 貌似按照一般运算符的优先级,的确是不会的 http://www.puiching.edu.hk/~wtchung/trace/CPP/cpp07_c.htm |
6
Chris_Ys Nov 23, 2011
|
7
tuoxie007 Nov 24, 2011
看你具体情况吧,如果考虑到将来有看你需要用到$c!=$d的逻辑那就用第一种,否则一般用第一种比较自然
再有第二种用不了那么多()吧 |