JavaScript的流程控制之for循环语句和while循环语句(二)

JavaScript的流程控制(二)
上一篇博客说到了JavaScript流程控制的if条件语句和switch选择语句,现在我们来说一下JavaScript流程控制中的循环语句。JavaScript中循环语句主要包含for循环和while循环两类。

for循环
for循环又分为for循环,for…in循环,for…of循环,其中for…of循环是es6中新增的,咱们后面讲es6时再讲,这次主要讲for循环和for…in循环。

1.for循环
循环可以将代码块执行指定的次数。

// 语法:
    // for(语句1;语句2;语句3){
    //    语句4;
    // }
    // 语句1:初始化一个值, 
    // 语句2:判断条件
    // 语句3:自增(++)或自减(--)
    // 语句4:要训话执行的代码
    
    
    // 如果我们想一遍又一遍地运行相同的代码,并且每次的值都不同。如下:
    document.write(1 + "<br/>");
    document.write(2 + "<br/>");
    document.write(3 + "<br/>");
    document.write(4 + "<br/>");
    document.write(5 + "<br/>");
    document.write(6 + "<br/>");
    document.write(7 + "<br/>");
    
    // 这时我们就可以考虑使用循环了,比如:
    for(var n=1;n<8;n++){
        document.write(n+"<br/>")
    }
    // 使用for循环只需要三行代码就可以实现上面启航代码可以实现的效果
注意:for循环中中代码执行的顺序为:先语句1,然后语句2,语句4,最后语句3。 同时要知道,for循环的语句1和语句2主要是用来判断循环执行的次数。

补充一个逗号表达式,用在判断条件中。简单来说,在判断条件中,有多判断条件时,只有最后一个条件起作用。
 

    for(var a=0,b=0;a<10,b<20;a++,b++){
        console.log(a+b);// 38 
    }
    
    if(10>5,10<5){
        console.log(true);
    }else{
        console.log(false);
    }
    // 打印false

2.for…in循环

JavaScript中for…in循环语句,用来遍历对象(数组)的属性。

var obj={
        name:"尹杰",
        age:35,
        sex:"和诸葛成同类"
    }
    console.log(obj.name);//尹杰
    console.log(obj["name"]);//尹杰


    for(k in obj){
        console.log(k);//键  key
        //name age sex
        
        console.log(k+":"+obj[k]);
        //name:尹杰 age:35 sex:和诸葛成同类
    }
    
    var arr=[1,2,3,4,5,6,7];
    for(j in arr){
        console.log(arr[j]);//1 2 3 4 5 6 7
    }

while循环

while循环语句和for循环语句执行的功能类似。都是包含判断的条件以及条件成立时执行的代码块。

1.while循环

// 语法:
    // while循环
    // 声明初始值
    // while (条件) {
    //     // 执行代码  类似于for循环的语句4;
    //     // 类似于for循环的语句3;
    // }
    
    var i=0;
    while (i<10) {
        console.log(i);
        i++;
    }
    // 在浏览器控制台打印0 1 2 3 4 5 6 7 8 9

2.do…while循环

// do while循环  
    // 语法:
    // do{
    //     // 执行代码
    // }while(条件)
    var j=0;
    do{
        console.log(j);
        j++;
    }while(j<10)
    // 在浏览器控制台打印0 1 2 3 4 5 6 7 8 9

while循环和do…while循环区别在于while循环是先判断后执行,而do…while循环是先执行后判断。

for循环个while循环的区别

当循环的次数确定时,使用for循环和while循环差别不大,但是当循环次数不确定时,while方法使用起来更加方便,更加好理解。