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

时间:2012-10-11 21:44:19

标签: javascript for-loop

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

for(initialize1,initialize2; condition1,condition2; incrementation1,incrementation2) 

2 个答案:

答案 0 :(得分:3)

你指的是哪一个?这将执行一个循环并等待condition1或condition2失败:

for (initialize1, initialize2; condition1 && condition2; incrementation1, incrementation2)

这将执行一个嵌套在另一个循环中的循环:

for (initialize1; condition1; incrementation1)
    for (initialize2; condition2; incrementation2)

答案 1 :(得分:1)

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

试一试:

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

@ 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;
}

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