我可以在 JavaScript 的一个语句中运行两个 for 循环吗?

sam*_*ly1 4 javascript for-loop

我可以在 JavaScript 的一个语句中运行两个 for 循环吗?我会这样做吗?

for(initialize1,initialize2; condition1,condition2; incrementation1,incrementation2) 
Run Code Online (Sandbox Code Playgroud)

小智 6

是的,您可以执行这样的 for 循环,但您只有一个且只有一个检查条件。如果你可以让它只检查所有变量的一个条件,例如 And (&&) 条件表达式,这将工作得很好,或者如果你只是使用其他变量来做其他事情,它也将工作得很好。

尝试一下:

for(var i=j=k=0; j<9 && k<12;i++, j++, k++){
    console.log(i,j,k);      
    i = 12;
}
Run Code Online (Sandbox Code Playgroud)

@samdonly1

你总是只有一个评估,但你可以这样做:

function evalFor(i, j, k){
   if (k == 9) return false;
   else if (j == 7) return false;
   else if (i == 12 && j == 6) return false;
   else return true;
}
for(var i=j=k=0; evalFor(i, j, k);i++, j++, k++){
    console.log(i,j,k);     
    i = 11;
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您可以检查其他函数中的变量 i、j、k 并决定循环是否停止或继续。