• for循环


    不同类型的循环

    JavaScript 支持不同类型的循环:

    • for - 循环代码块一定的次数
    • for/in - 循环遍历对象的属性
    • while - 当指定的条件为 true 时循环指定的代码块
    • do/while - 同样当指定的条件为 true 时循环指定的代码块

    while循环上篇已经讲过

    for循环 

      for语句也是一个循环语句,也称为for循环
      在for循环中,我们提供了专门的位置用来放三个表达式:
        1 初始化表达式
        2 条件表达式
        3 更新表达式

      for循环的语法:
      for(1初始化表达式 2条件表达式 4更新表达式){
      语句...
      }
      for循环执行的流程:
      1 执行初始化表达式,初始化变量
      2 执行条件表达式,判断是否执行循环
      如果为true,则执行3
      如果为false,则终止!
      4 执行更新表达式,更新表达式执行完以后继续重复 2

    for循环实例第一题:

    <script>
            第一题:打印1-100之间所有基数之和
            创建一个变量,来保存基数之和var he = 0;        
            for (var i = 1 , he = 0; i < 100; i++) {
                if(i%2 != 0 ){
                    he = he + i;
                }
                
            }
            console.log(he);
            var a=0;
            a = a+1;
            a = a+2;
            document.write(a);
    </script>

      第二题;

    <script>
            var gs = 0 ;
    //      打印一到一百之间七的倍数的个数及其总和
            for (var i = 1 , zh = 0; i < 100; i++) {
                if (i%7 == 0) {
                    console.log(i);
                    zh = zh +i;    
                    gs++;
                }
            }
                    console.log("个数"+gs)
                    console.log("总和"+zh)
    </script>

      第三题;

    <script>
    //水仙花是指三位数,它的每位数字的三次幂之和等于它的本身.
    //例如 1^3+5^3+3^3=153
            for (var i=100; i<1000; i++) {
                var bai = parseInt(i/100);
                var shi = parseInt((i-bai*100)/10);
                var ge = i%10;
    //            console.log(shi);
    //            console.log(bai);
    //            console.log(ge);
    
                if(bai*bai*bai + shi*shi*shi + ge*ge*ge == i){
                    console.log(i);
                }
            }
    </script>

      第四题

    <script>
    //          判断输入数字是否为质数:
    //            质数规则质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。
                var zs = prompt("输入小明的成绩");
                var sz = 1;
                if(zs <= 1){
                    alert("非法数字")
                }else{
                    for(var i=2; i<zs; i++){
                        if(zs%i == 0){
                            sz = 2;
                        }
                    }
                    
                }
                if (sz == 1) {
                    alert(zs+"是质数");
                }else{
                    alert(zs+"不是质数");
                }
        
    </script>

      第五题;

    <script>
    //    嵌套的for循环在页面中输出如下图形
    //    *
    //    **
    //    ***
    //    ****
    //    *****
    for(var i=0; i<9; i++){
        for(var z=0; z<i+1; z++){
            document.write("*");
        }
            document.write("<br>");
    }
    for(var i=0; i<9; i++){
        for(var z=0; z<9-i; z++){
            document.write("*");
        }
            document.write("<br>");
    }
    </script>

      第六题;

    <script>
    //    问题:想办法在控制台里面输出一个乘法表
            for (var i=0; i<=9; i++){
                for (var z=1; z<=i; z++) {
                    document.write(z+"&times"+i+"=");
                    document.write(z*i+"&nbsp;&nbsp;");
                }
                document.write("</br>");
            }
    </script>

     

    .For...In 声明用于对数组或者对象的属性进行循环/迭代操作。       

    for-in语句是一种精准迭代语句,可以用来枚举对象的属性,用以遍历一个对象的全部属性。

    for…in声明用于对数组或者对象的属性进行循环操作;

    for…in循环中的代码每执行一次,就会对数组的元素或对象的属性进行一次操作。

    for-in的语法:

    for (变量 in 对象)
    {
       执行代码
    }
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title></title>
    </head>
    <body>
        
    <p>点击下面的按钮,循环遍历对象 "person" 的属性。</p>
    <button onclick="myFunction()">点击这里</button>
    <p id="demo"></p>
    <script>
    function myFunction(){
        var x;
        var txt="";
        var person={fname:"Bill",lname:"Gates",age:56}; 
        for (x in person){
            txt=txt + person[x]+"</br>";
        }
        document.getElementById("demo").innerHTML=txt;
    }
    </script>
        
    </body>
    </html>

    输出效果:

    如果要迭代的对象的变量值为 null 或 undefined,for-in语句会抛出错误。ECMAScript5更正了这一行为;对这种情况不再抛出错误,而是不再执行·循环体。为了保证最大限度的兼容性,最好在使用for-in循环之前,先确认该对象的值不是null或undefined。迭代语句又叫循环语句,声明一组要反复执行的命令,知道满足某些条件为止。循环语句通常用于迭代数组的值(因此而得名),或者执行重复算数任务。

  • 相关阅读:
    HDU2159 二维完全背包
    HDU1401 BFS
    HDU2842 矩阵乘法
    CF2.E
    CF2.D
    *HDU2254 矩阵乘法
    CF2.C
    *HDU1907 博弈
    博弈
    *HDU2147 博弈
  • 原文地址:https://www.cnblogs.com/niuyaomin/p/11871442.html
Copyright © 2020-2023  润新知