zoukankan      html  css  js  c++  java
  • JavaScript 循环语句入门详解

    JavaScript Switch 语句

    语法

    switch(n)
    {
    case 1:
      执行代码块 1
      break;
    case 2:
      执行代码块 2
      break;
    default:
      n 与 case 1 和 case 2 不同时执行的代码
    }
    

    工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行。 示例:

    var day=new Date().getDay();
    switch (day)
    {
    case 6:
      x="Today it's Saturday";
      break;
    case 0:
      x="Today it's Sunday";
      break;
    default:
      x="Looking forward to the Weekend";
    }

    JavaScript 循环

    不同类型的循环

    JavaScript 支持不同类型的循环:

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

    For 循环

    for 循环是您在希望创建循环时常会用到的工具。

    下面是 for 循环的语法:

    for (语句 1; 语句 2; 语句 3)
      {
      被执行的代码块
      }
    

    语句 1 在循环(代码块)开始前执行

    语句 2 定义运行循环(代码块)的条件

    语句 3 在循环(代码块)已被执行之后执行

    实例:

    <script type="text/javascript">
        for(var i=0;i<10;i++){
            document.write("这是第"+i+"个数字!
    <br>");
        }
    </script>

    语句 1

    通常我们会使用语句 1 初始化循环中所用的变量 (var i=0)。

    语句 1 是可选的,也就是说不使用语句 1 也可以。

    您可以在语句 1 中初始化任意(或者多个)值:

    实例:

    var i=0
    for(;i<10;i++){
        document.write("这是第"+i+"个数字!
    <br>");
    }

    语句 2

    通常语句 2 用于评估初始变量的条件。

    语句 2 同样是可选的。

    如果语句 2 返回 true,则循环再次开始,如果返回 false,则循环将结束。

    提示:如果您省略了语句 2,那么必须在循环内提供 break。否则循环就无法停下来。这样有可能令浏览器崩溃。请在本教程稍后的章节阅读有关 break 的内容。

    实例:

    var i=0
    for(;;i++){
        document.write("这是第"+i+"个数字!
    <br>");
    }

    语句 3

    通常语句 3 会增加初始变量的值。

    语句 3 也是可选的。

    语句 3 有多种用法。增量可以是负数 (i--),或者更大 (i=i+15)。

    语句 3 也可以省略(比如当循环内部有相应的代码时):

    var i=0;
    for(;i<10;){
     document.write("这是第"+i+"个数字!<br>");   
     i++;
    }

    既然语句1,2,3都是可选的那么全都不填可不可以?

    实例:

        var i=0;
        for(;;){//
            i++;
            document.write("这是第"+i+"个数字!
    <br>");
            if(i>10){
            break;
            }
        }

    For/In 循环

    JavaScript for/in 语句循环遍历对象的属性:

    实例

        var person = {name:"amosli",age:24};
        for( y in person){
            document.write(y+":"+person[y]+"<br>");
        }

    while 循环

    While 循环会在指定条件为真时循环执行代码块。

    语法

    while (条件)
      {
      需要执行的代码
      }

    实例

            i=0;
        while(i<10){
            document.write("这是第"+i+"个数!<br>");
            i++;
        }

    do/while 循环

    do/while 循环是 while 循环的变体。该循环会执行一次代码块,在检查条件是否为真之前,然后如果条件为真的话,就会重复这个循环。

    语法

    do
      {
      需要执行的代码
      }
    while (条件);
    

    实例

        i=0;
        do{
        document.write("这是第"+i+"个数!<br>");
            i++;
        }
        while(i<10);

    JavaScript Break 和 Continue 语句

    break 语句用于跳出循环。

    continue 用于跳过循环中的一个迭代。

    Break 语句

    我们已经在本教程稍早的章节中见到过 break 语句。它用于跳出 switch() 语句。

    break 语句可用于跳出循环。

    break 语句跳出循环后,会继续执行该循环之后的代码(如果有的话):

    实例

        for (i=0;i<10;i++)
            {
                if (i==3)
                {
                    break;
                }
                alert(i);
            }

    Continue 语句

    continue 语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代。

    该例子跳过了值 3:

                for (i=0;i<10;i++)
              {
                  if (i==3)
                  {
                      continue;
                  }
                  alert(i);
              }        

    JavaScript 标签

    正如您在 switch 语句那一章中看到的,可以对 JavaScript 语句进行标记。

    如需标记 JavaScript 语句,请在语句之前加上冒号:

    label:
    语句
    

    break 和 continue 语句仅仅是能够跳出代码块的语句。

    语法

    break labelname;
    
    continue labelname;
    

    注意:

    continue 语句(带有或不带标签引用)只能用在循环中。多层嵌套的时候会用到,一般用的比较少,但须要再花时间去研究下.

    break 语句(不带标签引用),只能用在循环或 switch 中。

    通过标签引用,break 语句可用于跳出任何 JavaScript 代码块:

    实例

    cars=["BMW","Volvo","Saab","Ford"];
        list:
        {
            document.write(cars[0] + "<br>");
            document.write(cars[1] + "<br>");
            document.write(cars[2] + "<br>");
            break list;
            document.write(cars[3] + "<br>");
            document.write(cars[4] + "<br>");
            document.write(cars[5] + "<br>");
        }
  • 相关阅读:
    #背包方案 ——整数划分(Acwing900)
    #分组背包 #背包方案 ——Acwing 1013 机器分配
    #背包 #二进制优化 ——Acwing 5. 多重背包问题 II(二进制优化)
    #背包方案 AcWing 532. 货币系统
    #背包方案 ——AcWing 1021. 货币系统2
    背包问题求方案数
    有依赖的背包问题
    分组背包问题
    二维费用的背包问题
    混合背包问题
  • 原文地址:https://www.cnblogs.com/amosli/p/3468481.html
Copyright © 2011-2022 走看看