Else vs Else If
Else vs Else If
假设下面的脚本有问题:
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));
我们试图弄清楚step是否小于0的部分-当step不小于0时使用Else是否更好,或者更好地使用Else if(step> 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));
逻辑上是有区别的。if (foo < 0) .. else ..
匹配所有可能的情况。if (foo < 0) .. else if (foo > 0) ..
不匹配foo
恰好为0的情况
除此之外,没有"安全"的好处或任何东西。这仅仅是基本的逻辑,您需要实现您的用例所需的逻辑。
相关文章:
- Jquery else if statement
- Javascript skips else if?
- JqueryUI,多个ID和else if 语句在可丢弃,我如何让它们工作
- JQuery Else if statement?
- 以这种方式使用if/else-if/else是一种很好的做法
- switch(true)作为else-if的替代
- else-if子句未按预期工作
- 使用if-else-if-true检查(验证)单选按钮如果未检查则无警报必须检查警报
- Javascript else-if语句错误
- `else if `从不执行;只执行前面的“if”
- 正在创建嵌套的if+else-if语句,但函数返回为未定义
- else-if条件在js渲染模板中
- 我的if和else-if逻辑中的问题以及两个函数的冲突
- 带有if语句的循环的Javascript未到达else-if语句
- 使用 If else if else 语句得到错误
- if-else-if JavaScript 返回 true 并退出,无论输入如何
- Jquery else if is not working
- 如何在 Angular JS 中执行开关或 else/if 语句
- 我可以在 html 文档中使用 if/else if 命令吗?
- 我需要帮助“调试”If/Else if/Else 语句的语法