關於for循環的一個知識點
阿新 • • 發佈:2017-07-28
pre for ron 執行 判斷 var 相等 結束 知識點
第二次:j=1,i=1,符合條件,k=j+i=2;
第三次:j=2,i=2,符合條件,k=j+i=4;
第四次:j=3,i=3,符合條件,k=j+i=6;
第五次:j=4,i=4,符合條件,k=j+i=8;
第六次:j=5,i=5,符合條件,k=j+i=10;
第七次:j=6,i=6,符合條件,k=j+i=12;(這裏需要註意,循環繼續的判斷依據以分號前的最後一項為準,即判斷i<10符不符合條件。)
第八次:j=7,i=7,符合條件,k=j+i=14;
第九次:j=8,i=8,符合條件,k=j+i=16;
第十次:j=9,i=9,符合條件,k=j+i=18;
第十一次:j=10,i=10,不符合條件,循環結束。
問題1:
function Test()
{
var k=0;
for(j=0,i=0;j<6,i<10;j++,i++){
k=i+j;
}
alert(k);//k值是多少?
}
Test();
問題2:
function Test()
{
var k=0;
for(j=0,i=0;j<10,i<6;j++,i++){
k=i+j;
}
alert(k);//k值是多少?
}
Test();
問題1答案是18,首先每次for循環的i和j值是相等的:
第一次:j=0,i=0, 符合條件,k=j+i=0;
第二次:j=1,i=1,符合條件,k=j+i=2;
第三次:j=2,i=2,符合條件,k=j+i=4;
第四次:j=3,i=3,符合條件,k=j+i=6;
第五次:j=4,i=4,符合條件,k=j+i=8;
第六次:j=5,i=5,符合條件,k=j+i=10;
第七次:j=6,i=6,符合條件,k=j+i=12;(這裏需要註意,循環繼續的判斷依據以分號前的最後一項為準,即判斷i<10符不符合條件。)
第八次:j=7,i=7,符合條件,k=j+i=14;
第九次:j=8,i=8,符合條件,k=j+i=16;
第十次:j=9,i=9,符合條件,k=j+i=18;
第十一次:j=10,i=10,不符合條件,循環結束。
for循環共執行10次,k的最終值等於18。
這裏值得一提的是如果把條件j<6,i<10;改成j<10,i<6;
結果將完全不同,此時循環執行到i=5就會結束,此時k=10。
拓展1:
function Test()
{
var k=0;
for(var j=0,i=0,a=1;j<10,i<6,a<4;j++,i++,a++){
k=i+j;
}
alert(k);//k值是4
}
拓展2:
function Test()
{
var k=0;
for(var j=0,i=0,a=1;j<10,i<6 ,a<14;j++,i++,a++){
k=i+j;
}
alert(k);//k值是24
}
總結:
循環繼續的判斷依據以分號前的最後一項為準。
關於for循環的一個知識點