for循环、Javascript中的多个变量
我不明白这个代码是怎么工作的。有人能给我指出正确的使用方法吗?和:在for循环中?它们是什么意思for循环、Javascript中的多个变量,javascript,for-loop,Javascript,For Loop,我不明白这个代码是怎么工作的。有人能给我指出正确的使用方法吗?和:在for循环中?它们是什么意思 var range = function(start, end, step) { var arr = []; for (var i = start; step > 1 || step === undefined ? i <= end : i >= end; step ? i = i + step : i++) { arr.push(i); }
var range = function(start, end, step) {
var arr = [];
for (var i = start; step > 1 || step === undefined ? i <= end : i >= end; step ? i = i + step : i++) {
arr.push(i);
}
return arr;
};
对于循环,这没有什么特别的?是 第二次使用?运算符更为棘手,因为它将i的内容作为副作用进行操作。这段代码的作者计算变量step。如果这是真的,i将逐步推进,否则它将递增。这正是正确的 它几乎是if-else语句的简写,即:
return (boolean expression) ? ifTrue : ifFalse;
同:
if (boolean expression) {
return ifTrue;
} else {
return ifFalse;
}
所以在你的for循环中
step === undefined ? i <= end : i >= end
指:
如果步骤未定义
通常看起来像iif (boolean expression) {
return ifTrue;
} else {
return ifFalse;
}
step === undefined ? i <= end : i >= end