Javascript Else vs Else If
假设以下脚本有问题:Javascript Else vs Else If,javascript,Javascript,假设以下脚本有问题: function range(start, end, step){ var theRange = []; var i = start; if(step === undefined){ if(start < end) step = 1; else if(start > end) step = -1; } if(step < 0){ for(;i >= end;i += step){
function range(start, end, step){
var theRange = [];
var i = start;
if(step === undefined){
if(start < end)
step = 1;
else if(start > end)
step = -1;
}
if(step < 0){
for(;i >= end;i += step){
theRange.push(i);
}
}else{ // just say Else?
for(;i <= end;i += step){
theRange.push(i);
}
}
return theRange;
}
function sum(theRange){
var theSum = 0;
for(var i = 0; i < theRange.length; i++){
theSum += theRange[i];
}
return theSum;
}
console.log(range(5,2));
我们试图确定步骤是否小于0的部分-当步骤不小于0时,最好使用Else,还是使用Else ifstep>0显式声明另一个选项 所以,基本上我想问的是,这段代码在编译/执行时间、可读性、安全性等方面会更好吗
function range(start, end, step){
var theRange = [];
var i = start;
if(step === undefined){
if(start < end)
step = 1;
else if(start > end)
step = -1;
}
if(step < 0){
for(;i >= end;i += step){
theRange.push(i);
}
}else if(step > 0){ // explicitly state the other possible condition
for(;i <= end;i += step){
theRange.push(i);
}
}
return theRange;
}
function sum(theRange){
var theSum = 0;
for(var i = 0; i < theRange.length; i++){
theSum += theRange[i];
}
return theSum;
}
console.log(range(5,2));
这在逻辑上是有区别的。如果foo<0。。其他的匹配所有可能的情况。如果foo<0。。否则,如果foo>0。。与foo正好为0的情况不匹配
除此之外,没有任何安全利益或任何东西。这仅仅是基本逻辑,您需要实现用例所需的逻辑。当步骤=0时,您的条件不相等。当步骤不小于0时,使用Else是否更好,或者如果更好,使用Else显式声明其他选项是否更好?性能?可读性?可维护性?此外,考虑到步骤是0。拥有else-if将错过该条件,在这种情况下,这不会有多大区别。但对于一个更一般的答案:覆盖所有可能的情况通常是一个好主意,因此,在最后有一个“else”块,只是提醒你错过了一些可能性。就像‘start=end’的情况:-当step==end时,您想做什么?else-only变量将处理它,else-if-one将处理它。@atmd您是对的,但有点不正确。但基本上是对的。如果步骤为0,则函数不应执行任何操作,当我为步骤传递0时,它只会执行此操作。为了什么而更好这就是我的全部问题:这样做会更好吗?性能?可读性?可维护性?等