(56)Wangdao.com第八天_JavaScript 流程控制语句

 流程控制语句javascript

 

  • 条件判断语句 if
  • 条件分支语句 switch
  • 循环语句 for 、while

switch 和 if 均可以相互转换,switch 的性能更优于 if java

 


 

 

1. 条件判断语句 if性能

在某条语句以前,使用条件判断语句。spa

若是条件成立才会执行 if 代码块 里的语句,不成立,则跳过 if 代码块 里的语句,而执行下面的语句。code

if 语句,只会有一个代码块被执行。。。有一个代码块被执行了,if 语句就结束了。blog

  • 语法一
    • if(条件表达式1 && 条件表达式2)
      { 语句1; 语句2; }
  • 语法二
    • if(条件表达式1 && 条件表达式2)
      {
          语句1;
          语句2;
      }
      else
      {
          语句3;
          语句4;
      }
  • 语法三
    • if (条件表达式1 && 条件表达式2)
      {
          语句1;
          语句2;
      }
      else if (条件表达式3 && 条件表达式4)
      {
          语句3;
          语句4;
      }
      else
      {
          语句5;
          语句6;
      }

 

2. 条件分支语句ip

  • switch(条件表达式)
    {
        case 表达式1:
            语句1;
            语句2;
            break;
        case 表达式2:
            语句3;
            break;
        case 表达式3:
            语句4;
            语句5;
            语句6;
            break;
        default:
            语句7;
            break;
    }

    执行时,根据 条件表达式 的值与 case 的值依次进行全等比较,全等的则执行以后的除了 case 的全部语句。rem

  若是遇到 break; 则立刻跳出 switch 语句块。it

  若是全部的 case 都是 false,则执行 default 后面的语句。console

  • switch 语句后面的表达式,与case语句后面的表示式比较运行结果时,采用的是严格相等运算符(===,而不是相等运算符(==),这意味着比较时不会发生类型转换。
    • var x = 1;
      
      switch (x) {
        case true:
          console.log('x 发生类型转换');
          break;
        default:
          console.log('x 没有发生类型转换');
      }
      // x 没有发生类型转换

       

 


 

3. 循环语句

  • while
    • while(条件表达式)
      {
          语句1;
          语句2;
      }

       

    • 先判断条件表达式,再执行一次代码块。每执行完一次代码块,就判断一次条件表达式。
    • 只要条件表达式成立,就会一直执行代码块。

 

  • do while 
    • do
      {
          语句1;
          语句2;
      }
      while(条件表达式);
    • 先执行一次代码块,再进行条件表达式判断,若是成立,则再循环一次。
    • 只要条件表达式成立,就会一直执行代码块。
    • 这种循环至少会执行一次。

 

  • for
    • for(初始化表达式; 条件表达式; 递增表达式)
      {
          语句1;
          语句2;
      }
  • 初始化表达式(initialize):肯定循环变量的初始值,只在循环开始时执行一次。
  • 条件表达式(test):每轮循环开始时,都要执行这个条件表达式,只有值为真,才继续进行循环。
  • 递增表达式(increment):每轮循环的最后一个操做,一般用来递增循环变量。

 


 

break; 和 continue;

 

  • 这两条语句用于在循环中精确控制代码的执行。
  • break; 用于马上跳出最近的循环,强制从外面的代码开始执行。。。用在 循环 switch
  • continue; 用于马上结束当次循环,去进行条件语句的判断,而后继续正常运行。。。只能用在循环中。

 

 


 

 代码块

  • 程序,是由一条一条语句组成的。
  • 语句从上往下按顺序一条一条执行。
  • 在 js 中使用 {} 对语句进行分组,他们要么都执行,要么都不执行。。。
  • {语句1;语句2;} 这样的咱们称其为 " 区块 "  或者 "代码块"。
  • 在代码块后面就不准要分号了。
  • 只具备语句分组的做用,单独使用无影响。

 


标签 label

  • javascript 容许语句前面有标签,至关于定位符, 用于跳转到程序的标签位置
    •  

       

  • break 标签
    • 跳出 标签的代码块
      • foo: {
          console.log(1);
          break foo;
          console.log('本行不会输出');
        }
        console.log(2);

         

      • 还能够跳出多层循环
      • top:
          for (var i = 0; i < 3; i++){
            for (var j = 0; j < 3; j++){
              if (i === 1 && j === 1) break top;
              console.log('i=' + i + ', j=' + j);
            }
          }
        
        // i=0, j=0
        // i=0, j=1
        // i=0, j=2
        // i=1, j=0

         

  • continue 标签
    • 知足条件时,会跳过当前循环,直接进入下一轮外层循环。
    • 若是continue语句后面不使用标签,则只能进入下一轮的内层循环。
      • top:
          for (var i = 0; i < 3; i++){
            for (var j = 0; j < 3; j++){
              if (i === 1 && j === 1) continue top;
              console.log('i=' + i + ', j=' + j);
            }
          }
        // i=0, j=0
        // i=0, j=1
        // i=0, j=2
        // i=1, j=0
        // i=2, j=0
        // i=2, j=1
        // i=2, j=2
相关文章
相关标签/搜索