javascript(五)循环语句

JS的循环语句有很多种,例如for、while、do…while、for…in、each等
循环语句的主要作用在于重复执行代码体,代码精简、提高代码实用性及后续代码维护性。
for循环
语法:
for(初始化;条件判断;数值改变){
[循环代码体…]
}
说明:
可以灵活控制循环的起点,和终点
书写for循环时候一定要记得数值改变,否则成为死循环
while
语法:
while(条件表达式){
循环代码体…
}
说明:
while先进行条件判断,再执行代码
while中的代码执行条件:条件表达式结果为真
注意:
操作过程一定要进行表达式或数值改变,否则会产生死循环
do…while
语法:
do{
操作代码体…
}while(条件判断);

说明:
先执行操作,再判断
至少执行一次
with
语法(with 语句通常用来减少特定情形下必须写入的代码数量)
with ( <对象> )
{ <语句或语句组> }
原代码:

x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10) 
y = Math.tan(14 * Math.E)

改后代码

with (Math){
   x = cos(3 * PI) + sin (LN10)  
   y = tan(14 * E)
}
  • for、while如何取舍?
    for主要用于可以指定循环次数的操作时使用,
    while主要用于处理条件判断时处理

  • while与do…while的区别
    while是先判断后执行,do…while是先执行后判断,至少执行一次。

声明多个变量,多个条件,多个迭代语句 必须数据类型相同并且多个变量之间以逗号分隔

for (var i = 6, j = 0; i>=0,j <= 6; i--,j++) {
    document.write(i + "+" + j +"=" + (i+j) + "<br/>");
}

continue:结束当前循环,进入下一轮循环 跳出
练习1
1到5的乘法

<script type="text/javascript">
        //for
        var a=1;
        for (var i = 1; i <= 5; i++) {
            a*=i;
        }
        document.write(a);
        //while
        var a=1;
        var b=1;
        while(a<=5){
            b*=a;
            a++;
        }
        document.write(b);
       //do while
       var a=1;
       var b=1;
       do{
            b*=a;
            a++;
       }while(a<=5);
       document.write(b);
    </script>

练习2
100以内偶数和

<script type="text/javascript">
        //for
        var a=0;
        for (var i =1; i <= 100; i++) {
            switch(true){
                case i%2==0:a+=i;
                break;
            }
        };
        document.write(a);
        //while
        var a=1;
        var b=0;
        while(a<=100){
            if (a%2==0) {
                b+=a;
            }
            a++;
        }
        document.write(b);
        //do while
        var a=1;
        var b=0;
        do{
        switch(true){
                case a%2==0:b+=a;
                break;
            }
            a++;
        }while(a<=100);
        document.write(b);
    </script>

练习3
0到9加9到0

<script type="text/javascript">
        //for
        for (var a=0,b=9; a<10,b>=0 ; a++,b--) {
            document.write(a+"+"+b+"="+(a+b)+"<br/>");
        };
        //while
        var a=0;
        var b=9;
        while(a<10,b>=0){
            document.write(a+"+"+b+"="+(a+b)+"<br/>");
            a++,b--;
        }
        //do while
        var a=0;
        var b=9;
        do{
            document.write(a+"+"+b+"="+(a+b)+"<br/>");
            a++,b--;
        }while(a<10,b>=0);
    </script>

练习四
等腰三角形

    //for
        for (var i = 1; i <= 10; i++) {
            document.write("<br/>");
            for (var b = 10; b >= i; b--) {
                document.write("&nbsp;");
            }
            for (var a=1; a<=i; a++) {
                document.write("*"+"&nbsp;");
            }
        }
    //while
        var a=1;
        while(a<=10){
            document.write("<br/>");
            var b=1;
            var c=10;
            while(c>=a){
                document.write("&nbsp;");
                c--;
            }
            while(b<=a){
                document.write("*"+"&nbsp;");
                b++;
            }
            a++;
        }
    //do while
        var a=1;
        do{
            document.write("<br/>");
            var b=1;
            var c=10;
            while(c>=a){
                document.write("&nbsp;");
                c--;
            }
            while(b<=a){
                document.write("*"+"&nbsp;");
                b++;
            }
            a++;
        }while(a<=10);
    </script>

练习5
制作九九乘法表

//for
        for (var i =1; i <= 9; i++) {
            document.write("<br/>");
            for (var a=1; a<=i; a++) {
                document.write(i+"x"+a+"="+i*a+"&nbsp;");
            };
        };
 //while
        var a=1;
        while(a<=9){
            document.write("<br/>");
            var b=1;
            while(b<=a){
                document.write(a+"x"+b+"="+a*b+"&nbsp;");
                b++;
            }
            a++;
        }
 //do while
        var a=1;
        do{
            document.write("<br/>");
            var b=1;
            while(b<=a){
                document.write(a+"x"+b+"="+a*b+"&nbsp;");
                b++;
            }
            a++;
        }while(a<=9)

练习六
在页面上输出10个‘*’,奇数位置的为红色并加粗

//for
        for (var i = 1; i <= 10; i++) {
            if (i%2==1) {
                document.write("<font color=\"red\"><b>"+"*"+"</b></font>")
            }else{
                document.write("*");
            }
        };
//while
        var a=1;
        while(a<=10){
            if (a%2==1) {
                document.write("<font color=\"red\"><b>"+"*"+"</b></font>")
            }else{
                document.write("*");
            }
            a++;
        }
//do while
        var a=1;
        do{
            if (a%2==1) {
                document.write("<font color=\"red\"><b>"+"*"+"</b></font>")
            }else{
                document.write("*");
            }
            a++;
        }while(a<=10)

练习七
求1!~5!阶乘的和 (提示:1!+2!+3!+4!+5!)

//for
        var b=0;
        for(var a=1;a<=5;a++){
            var d=1;
            for(var c=1;c<=a;c++){
                d*=c;
            }
            b+=d;
        }
        document.write(b);
//while
        var a=1;
        var d=0;
        while(a<=5){
            var b=1;
            var c=1;
            while(b<=a){
                c*=b;
                b++;
            }
            d+=c;
            a++;
        }
        document.write(d);
//do while
        var a=1;
        var d=0;
        do{
            var b=1;
            var c=1;
            while(b<=a){
                c*=b;
                b++;
            }
            d+=c;
            a++;
        }while(a<=5)
        document.write(d);

猜你喜欢

转载自blog.csdn.net/qq_38904347/article/details/82502029