zoukankan      html  css  js  c++  java
  • JavaScript循环结构

    循环语句:

    while(){}

    //格式:
    while //语句名 () //执行条件 {} //执行语句(循环体)

    特点:

    • 只有条件表达式为真才会执行后面{}中的代码
    • 大括号中的代码有可能会被执行多次

    注意:为避免死循环,一定要在循环体内改变条件中使用的变量的值

    demo:

    //入职薪水10K,每年涨幅5%,第50年工资多少
          <script>
            var i = 1;
            var sum = 10000; 
            while(i<=50){
                sum += sum * 0.05;
                i++;
            }
            console.log(sum);
        </script>

    do{}while(){}:

    //格式:
    do            //语句名1
    {}            //do的执行语句
    while        //语句名2
    ()            //执行条件
    {}           //while的执行语句

    特点:无论条件表达式是否为真, 循环体都会被执行一次

    do-while和while的区别:do-while在任何情况下都比while多执行一次

    注意:do-while的改变计数器需要写在do语句中,否则会造成死循环。

    demo:

     1 <script>
     2 var i = 0;
     3 do{
     4     console.log("这是do的语句:" + i);
     5          i++;
     6      }while(i < 10){
     7          console.log("这是while的语句:" + i);
     8  }
     9  //条件为true时,会执行do后面的语句
    10   // 条件为false时,会执行一次while后的语句
    11 </script>

    for(){}:

    1 //格式:
    2 while        //语句名
    3 ()            //条件组
    4 {}           //执行语句(循环体)

    demo:

     1 //计算1-10的阶乘和
     2 <!DOCTYPE html>
     3 <html>
     4     <head>
     5         <meta charset="utf-8" />
     6         <meta name="viewport" content="width=device-width, initial-scale=1">
     7         <title>1-10阶乘的和</title>
     8     </head>
     9     <body>    
    10     </body>
    11     <script>
    12         var sum = 0;
    13         for(var j=1;j<=10;j++){
    14             var jc = 1;
    15             for(var i=1;i<=j;i++){
    16                 jc = jc * i;
    17             }
    18             sum = sum + jc;
    19         }
    20         console.log(sum);
    21     </script>
    22 </html>

    循环中的控制关键字

    break关键字:结束循环,不在执行,立即结束;

    continue关键字:跳过本次循环

    小练习:

    打印出1000-2000年中所有的闰年,并以每行四个数的形式输出
     1 //打印出1000-2000年中所有的闰年,并以每行四个数的形式输出
     2 <script>
     3 var a = 0;
     4     for(var i=1000;i<=2000;i++){
     5         if(i%4==0 && i%100!=0 || i%400==0){
     6             document.write(i + "&nbsp;&nbsp;");
     7             a++;
     8             if(a%4 == 0){
     9                 document.write("<br>")
    10             }
    11         }
    12     }
    13 </script>

    求出1-1/2+1/3-1/4…..1/100的和          var i=1;

     1 //求出1-1/2+1/3-1/4…..1/100的和          var i=1;
     2 <!DOCTYPE html>
     3 <html>
     4     <head>
     5         <meta charset="utf-8" />
     6         <meta name="viewport" content="width=device-width, initial-scale=1">
     7         <title>Document</title>
     8     </head>
     9     <body>
    10     </body>
    11     <script>
    12         var sum = 0;
    13         for(var i=1;i<=100;i++){
    14             if(i%2 == 0){
    15                 sum -= 1/i;
    16             }else{
    17                 sum += 1/i;
    18             }
    19         }
    20         console.log(sum);
    21     </script>
    22 </html>

    篮球从5米高的地方掉下来,每次弹起的高度是原来的30%,经过几次弹起,篮球的高度小于0.1米。(必须用到关键字break)

     1 //篮球从5米高的地方掉下来,每次弹起的高度是原来的30%,经过几次弹起,篮球的高度小于0.1米。(必须用到关键字break)
     2 <script>
     3 var i = 0;
     4     var h = 5;
     5     while(true){
     6         h = h * 0.3;
     7         i++;
     8 
     9         if(h < 0.1){
    10             console.log(i)
    11             // 停止循环
    12             break;
    13         }
    14     }
    15 
    16 </script>

    完成一个梯形(圣诞树)打印功能

     1 //完成一个梯形(圣诞树)的打印功能
     2 <script>
     3    for(var i=0;i<9;i++){
     4         for(var j=9;j>i;j--){
     5             document.write("&nbsp;")
     6         }
     7         for(var j=0;j<i+2;j++){
     8             document.write("*")
     9         }
    10         for(var j=0;j<i;j++){
    11             document.write("*")
    12         }
    13         document.write("<br>")
    14     }
    15     for(var i=0;i<9;i++){
    16         for(var j=9;j>i;j--){
    17             document.write("&nbsp;")
    18         }
    19         for(var j=0;j<i+2;j++){
    20             document.write("*")
    21         }
    22         for(var j=0;j<i;j++){
    23             document.write("*")
    24         }
    25         document.write("<br>")
    26     }
    27 
    28     for(var i=0;i<9;i++){
    29         for(var j=9;j>1;j--){
    30             document.write("&nbsp;")
    31         }
    32         for(var j=0;j<5;j++){
    33             document.write("*")
    34         }
    35         document.write("<br>")
    36     }
    37 </sprict>
  • 相关阅读:
    [Oracle][Partition][Controlfile]Partition 操作是否和 Controlfile有关?
    [Oracle]如何观察Table 的各种Lock 之间的冲突
    [Oralce][InMemory]如何确定一个表已经被Populate 到In Memory 中?
    Arduino和C51之串口通信
    XC文件管理器-打造优美易用的文件管理器
    Android 控件进阶修炼-仿360手机卫士波浪球进度控件
    Android控件进阶-自定义流式布局和热门标签控件
    Windows开发之VC++仿QQ迷你首页(迷你资讯)
    Android自定义控件进阶-打造Android自定义的下拉列表框控件
    Android 自定义控件-高仿猎豹清理大师自定义内存开口圆环控件
  • 原文地址:https://www.cnblogs.com/cx1215/p/11405982.html
Copyright © 2011-2022 走看看