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时,它只会执行此操作。为了什么而更好这就是我的全部问题:这样做会更好吗?性能?可读性?可维护性?等