JavaScript-控制语句

程序流程控制语句(选择、循环),其中选择类语句包括if语句和switch语句,循环语句包括while语句和for语句等
一、选择语句
(一)if语句
  1.if语句    测试一个Boolean表达式,结果为真则执行某段程序
     语法:
     a.
      if(<表达式>){
             [语句组];
      }
      其中表达式必须有,执行时计算出一个Boolean值,若为真则执行整段语句,否则不执行;语句组可选,可由一条或多条语句       组成
      b.if(<表达式>) 
             <语句>;
         此处的表达式和语句必须有,且语句只有一条,如果为空则会影响下一条语句
   
       if语句练习

<script type="text/JavaScript">
       var hour=5;
       if(hour<=6){
             alert("还早,继续睡,哈哈");
       }
</script>


2.if-else语句练习(提供双路选择)
   if(<表达式>){
           [语句组1];
   }
   else{
           [语句组2];
   }
   其中表达式必须,要求是合法的JavaScript表达式或常量;语句组可选,可以为一条语句或多条语句
   如果if块或else块后是单条语句,则花括号可以省略,但建议一律使用花括号

<script type="text/JavaScript">
        var hour=7;
        if(hour<=6){
             alert("现在时间" + hour + "点,还早,继续睡,哈哈");
        }
        else{
             alert("现在时间" + hour + "点,不早了,起床");
        }
</script>


  3.if-else if语句(当有多个可供选择判断的条件时)
     if(<表达式1>){
              [语句组1];
     }
     else if(<表达式2>){
              [语句组2];
     }
     else{
             [语句组3];
     }
    表达式必须,语句组可选,可以是一条或多条语句,此时组成多路选择结构,程序执行时按顺序执行各个if块,若条件满足则       转入执行相应语句块,从此忽略后面的语句块

 <script type="text/JavaScript">
        var hour=8;
        if(hour<=6){
             alert("现在时间" + hour + "点,还早,继续睡,哈哈");
        }
        else if(hour<=7){
             alert("现在时间" + hour + "点,不早了,起床");
        }
        else{
             alert("现在时间" + hour + "点,该吃午饭了,吼吼吼");
        }
</script>


(二)switch语句(实现多路选功能)
      switch(<表达式>){
               case <标识1>:[语句组1;]
               case <标识2>:[语句组2;]
                ...
               [default:] [语句组3;]
      }
     表达式:必须是合法的JavaScript语句
     标识:必须,当表达式的值与标识的值相等时作则执行其后语句
     语句组:可选,由一条或多条语句组成

<script language="javascript">
        var name="Bob";
        switch(name){
              case "Alice":   alert("Hello! " + name);break;
              case "Tom":     alert("Hello! " + name);break;
              case "Bob":     alert("Hello! " + name);break;
              default:        alert("Nobody!");
        }
</script>

二、选择语句(for,while,do-while,for-in)
  (1)for语句(遇到重复执行指定次数的代码时)
  (2)while语句(在执行循环体之前 测试一个条件,如果条件成立就进入循环体,否则跳到循环体后的第一条语句)
      while(条件表达式){
              语句组;
      }
      条件表达式:必选项,以其返回值作为进入循环体的条件,无论返回什么样类型的值,皆被作为布尔型处理,为真时进入循环         体
      语句项:可选项,一条或多条语句组成
  (3)do-while语句(先执行一遍循环体后,再测试条件表达式)
  (4)for-in语句
       for-in语句通常用于遍历某个集合的每个元素,比如数组有很多元素,其元素索引构成了一个集合,使用for-in语句可以遍历该        集合,进而取得所有元素数据

   break和continue语句
   break语句将无条件跳出并结束当前的循环语句,continue语句忽略其后的语句并结束此轮循环、开始新的一轮循环
三、异常处理语句
1.try-catch语句
   异常捕捉和处理代码结构,当try块中的代码发生异常时,将由catch块捕捉并处理
   try{
          try语句;
   }
   catch(exception){
          catch语句;    
   }
   try语句:必选。可能发生错误的语句序列
   exception:必选项,任何变量名,用于引用错误发生时的错误对象
   catch语句:可选。错误处理语句,用于处理try块发生的错误
   编码时通常将可能发生错误的语句写入try块中,并在其后的catch块中处理错误,错误信息包含在一个错误对象中(Error对象),      通过exception的引用可以
    访问该对象,根据错误对象中的错误信息以确定如何处理

<script language="javascript">
       try{
              var n=error;        <!--人为定义一个错误,error未定义就使用-->
       }
       catch(e){               <!--捕捉错误-->
              alert((e.number&0xFFFF) + "号错误: " + e.description);       <!--错误处理,仅输出错误信息-->
       }
</script>


  JavaScript的错误为运行时错误和语法错误,语法错误在编译阶段发现;而运行时错误在运行过程中发现,错误处理语句只能处理   运行时错误
2.try-catch-finally语句
   所有过程执行完毕后前者的finally块无条件被执行,即无论如何都会执行finally块(尽管没有错误发生finall块中的语句也会在最后    得到执行)
   try{
         try块;
   }
   catch(e)
   {
         catch块;   
   }
   finally{
         finallyStatement;
   }
   try块:必选项,可能引发异常的语句
   catch块:可选项,异常处理语句
   finallyStatement:其他过程执行结束后无条件执行的语句

<script language="javascript">
       var fruit=new Array("苹果","梨","香蕉","荔枝")
       try{
          for(i=0;i<fruit.length;m++){       <!--遍历数组,在此处人为引发一个异常,m未定义-->
                document.write(fruit[n]+" ");
          }
       }
       catch(e){                                <!--捕捉错误-->
          alert((e.number&0xFFFF) + "号错误: " + e.description);
       }    
       finally{                                 <!--finally块中清除数组所占的资源-->            
          fruit=null;
               alert("fruit=" + fruit + "已经断开fruit数组的引用!");
          }
</script>

3.throw语句
   多个异常处理语句可以嵌套使用,当多个结构嵌套时,处于里层try-catch语句不打算自己处理异常则可以将其抛出,
   父级try-catch语句可以接收到子级抛出的异常,抛出操作使用throw语句
   throw 表达式     (表达式的值作为错误信息对象传出,该对象将被catch语句捕获,throw语句可以使用在打算抛出异常的任何地    方)

<script language="javascript">
         try{
              var total=100;
              var parts=0;
              if(parts==0){
                   throw "Error:parts is zero";
              }
              alert("每人" + total/parts + "份");
         }
         catch(e){
              alert(e);
         }
</script>

猜你喜欢

转载自blog.csdn.net/yx970326/article/details/81121993