码迷,mamicode.com
首页 > 其他好文 > 详细

关于for循环的一个知识点

时间:2017-07-28 20:04:59      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:font   条件   logs   注意   结束   循环   答案   code   func   

问题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循环的一个知识点

标签:font   条件   logs   注意   结束   循环   答案   code   func   

原文地址:http://www.cnblogs.com/goloving/p/7252304.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!