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>
  • 相关阅读:
    MFC中添加自己定义的消息
    动态创建的list control添加消息响应
    关于CString的奇怪问题
    如何去掉按钮在输入焦点切换时所产生的闪烁
    wince中将自己的应用程序编译到内核并开机启动的一种方法
    wince下圆角矩形按钮的实现
    关于error C2471:无法更新程序数据库的错误的解决方法
    关于烧写开机logo之后导致无法启动系统的问题
    利用IdHTTP进行多线程下载
    TEdit 控件的提示,就像 IE7 的地址输入栏一样
  • 原文地址:https://www.cnblogs.com/cx1215/p/11405982.html
Copyright © 2011-2022 走看看