【发布时间】:2011-10-04 16:14:38
【问题描述】:
假设我有三个条件:Condition1、Condition2、Condition3。 如果满足所有条件,则方法/函数返回 true,否则返回 false。
技巧一:
function check(){
if(Condition1 is true AND Condition2 is true AND Condition3 is true){
return true;
}
return false;
}
技巧二:
function check(){
if(Condition1 is false){
return false;
}
if(Condition2 is false){
return false;
}
if(Condition3 is false){
return false;
}
return true;
}
哪种技术更好?
【问题讨论】:
-
这取决于您的上下文。在这种特殊情况下,我认为第一种技术更好。
-
哪种方式更好?两个块的作用完全相同。
-
return condition1 ? (condition2 ? (condition 3 ? true : false) : false) : false可以是技术3吗? -
@XaviLópez 当然可以,如果你想让人们的眼睛流血的话。
-
作为回报 (Condition1 && Condition2 && Condition3);必须检查所有条件。但是在技术 2 中,如果出现错误条件,则要检查的条件数量可以从 1 到 3 不等。那么,在这种情况下,技术 2 会不会更好?