轻松学习JavaScript七:JavaScript的流程控制语句

来源:互联网 发布:淘宝网站数据下载方法 编辑:程序博客网 时间:2024/06/06 05:08

JS的核心ECMAScript规定的流程控制语句和其他的程序设计语言还是蛮相似的。我们选择一些实用的例子来看

一下这些语句。顺序结构我们在这里就不再提到,直接说条件和循环以及其他语句。

       一条件选择结构

       条件选择语句用于基于不同的条件来执行不同的动作,通常在写代码时,总是需要为不同的决定来执行不同的

作,可以在代码中使用条件语句来完成该任务。

       在JavaScript中,我们可使用以下条件语句:

       if 语句:只有当指定条件为true时,使用该语句来执行代码

[html] view plaincopyprint?
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  5. <title>JS流程控制语句</title>  
  6. </head>  
  7.   
  8. <body>  
  9.   
  10. <p>如果时间早于 20:00,会获得问候 "Good day"。</p>  
  11.   
  12. <button onclick="myFunction()">点击这里</button>  
  13.   
  14. <p id="demo"></p>  
  15.   
  16. <script type="text/javascript">  
  17. var time=new Date().getHours();  
  18. document.write("当前北京时间:"+time);  
  19. function myFunction()  
  20. {  
  21.      var x="";  
  22.      if (time<20)  
  23.      {  
  24.          x="Good day";  
  25.      }  
  26.      document.getElementById("demo").innerHTML=x;  
  27. }  
  28. </script>  
  29.   
  30. </body>  
  31. </html>  

       运行的结果为:


       if...else语句:当条件为true时执行代码,当条件为 false 时执行其他代码

[html] view plaincopyprint?
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  5. <title>JS流程控制语句</title>  
  6. </head>  
  7.   
  8. <body>  
  9.   
  10. <p>如果时间早于 20:00,会获得问候 "Good day"。如果时间晚于 20:00,会获得问候 "Good evening"。</p>  
  11.   
  12. <button onclick="myFunction()">点击这里</button>  
  13.   
  14. <p id="demo"></p>  
  15.   
  16. <script type="text/javascript">  
  17. var time=new Date().getHours();  
  18. document.write("当前北京时间:"+time);  
  19. function myFunction()  
  20. {  
  21. var x="";  
  22. if (time<20)  
  23.   {  
  24.   x="Good day";  
  25.   }  
  26. else  
  27.   {  
  28.   x="Good evening";  
  29.   }  
  30. document.getElementById("demo").innerHTML=x;  
  31. }  
  32. </script>  
  33.   
  34. </body>  
  35. </html>  

       运行的结果为:


       if...else if....else 语句:使用该语句来选择多个代码块之一来执行

[html] view plaincopyprint?
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  5. <title>JS流程控制语句</title>  
  6. </head>  
  7.   
  8. <body>  
  9.   
  10. <p>如果时间早于 10:00,会获得问候 "Good morning"。</p>  
  11. <p>如果时间早于 20:00,会获得问候 "Good day"。</p>  
  12. <p>如果时间晚于 20:00,会获得问候 "Good evening"。</p>  
  13.   
  14. <button onclick="myFunction()">点击这里</button>  
  15.   
  16. <p id="demo"></p>  
  17.   
  18. <script type="text/javascript">  
  19. var time=new Date().getHours();  
  20. document.write("当前北京时间:"+time);  
  21. function myFunction()  
  22. {  
  23. var x="";  
  24. if (time<10)  
  25.   {  
  26.   x="Good morning";  
  27.   }  
  28. else if (time<20)  
  29.   {  
  30.   x="Good day";  
  31.   }  
  32. else  
  33.   {  
  34.   x="Good evening";  
  35.   }  
  36. document.getElementById("demo").innerHTML=x;  
  37. }  
  38. </script>  
  39.   
  40. </body>  
  41. </html>  

       运行的结果为:


       switch语句: 使用该语句来选择多个代码块之一来执行。switch 语句用于基于不同的条件来执行不同的动作

[html] view plaincopyprint?
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  5. <title>JS流程控制语句2</title>  
  6. </head>  
  7.   
  8. <body>  
  9. <p>点击下面的按钮来显示今天是周几:</p>  
  10.   
  11. <button onclick="myFunction()">点击这里</button>  
  12.   
  13. <p id="demo"></p>  
  14.   
  15. <script type="text/javascript">  
  16. var d=new Date().getDay();  
  17. document.write("今天的星期代表数字:"+d);  
  18. function myFunction()  
  19. {   var x;  
  20.     switch (d)  
  21.       {  
  22.       case 0:  
  23.         x="Today it's Sunday";  
  24.         break;  
  25.       case 1:  
  26.         x="Today it's Monday";  
  27.         break;  
  28.       case 2:  
  29.         x="Today it's Tuesday";  
  30.         break;  
  31.       case 3:  
  32.         x="Today it's Wednesday";  
  33.         break;  
  34.       case 4:  
  35.         x="Today it's Thursday";  
  36.         break;  
  37.       case 5:  
  38.         x="Today it's Friday";  
  39.         break;  
  40.       case 6:  
  41.         x="Today it's Saturday";  
  42.         break;  
  43.       }  
  44.     document.getElementById("demo").innerHTML=x;  
  45. }  
  46. </script>  
  47. </body>  
  48. </html>  

       运行的结果:


       default关键字的使用

[html] view plaincopyprint?
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  5. <title>JS流程控制语句2</title>  
  6. </head>  
  7.   
  8. <body>  
  9. <p>点击下面的按钮来显示今天是周几:</p>  
  10.   
  11. <button onclick="myFunction()">点击这里</button>  
  12.   
  13. <p id="demo"></p>  
  14.   
  15. <script type="text/javascript">  
  16. var d=new Date().getDay();  
  17. document.write("今天的星期代表数字:"+d);  
  18. function myFunction()  
  19. {   var x;  
  20.     switch (d)  
  21.    {  
  22.    case 6:  
  23.      x="Today it's Saturday";  
  24.      break;  
  25.    case 0:  
  26.      x="Today it's Sunday";  
  27.      break;  
  28.    default:  
  29.      x="Looking forward to the Weekend";  
  30.    }  
  31.     document.getElementById("demo").innerHTML=x;  
  32. }  
  33. </script>  
  34. </body>  
  35. </html>  

      运行的结果为:

      二循环结构

      循环可以将代码块执行指定的次数。

      JavaScript支持不同类型的循环:

      (1)for语句:循环代码块一定的次数

[javascript] view plaincopyprint?
  1. for(var box=1;box<=10;box++)  
  2. {  
  3.     document.write("box="+box+"<br/>");  
  4. }  

      运行的结果为:


      (2)for...in语句: 循环遍历对象的属性

[javascript] view plaincopyprint?
  1. var box={  
  2.    name:"张三",  
  3.    age:24,  
  4.    sex:"男"  
  5.  };  
  6. for(x in box)  
  7. {  
  8.    document.write(box[x]+"<br/>");  
  9. }  

      运行的结果为:


      (3)while语句:当指定的条件为 true 时循环指定的代码块。先判断,再执行语句,这种比较实用。

[javascript] view plaincopyprint?
  1. var box=1;  
  2. while(box<=5)  
  3. {  
  4.   document.write("box="+box+"<br/>");  
  5.   box++;  
  6. }  

      运行的结果为:


      (4)do...while - 同样当指定的条件为 true 时循环指定的代码块。先执行一次,再判断

[javascript] view plaincopyprint?
  1. var box=1;  
  2. do{  
  3.   document.write("box="+box+"<br/>");  
  4.   box++;  
  5. }while(box<=10)  

      运行的结果为:


      三其他语句

      (1)break语句:用于跳出循环。

[javascript] view plaincopyprint?
  1. for(var box=1;box<=10;box++)  
  2.  {  
  3.     if(box==5)  
  4.    {  
  5.       break;//强制退出整个循环  
  6.     }  
  7.    document.write("box="+box+"<br/>");  
  8.  }  

      运行的结果为:


      执行到第四次循环时不再继续执行,跳出了真个循环,,输出的少了box=5以后的循环。

      (2)continue语句:用于跳过循环中的一个迭代。

[javascript] view plaincopyprint?
  1. for(var box=1;box<=10;box++)  
  2. {  
  3.   if(box==5)  
  4.   {  
  5.      continue;//退出当前循环,还会继续执行后面的循环  
  6.    }  
  7.   document.write("box="+box+"<br/>");  
  8. }    

      运行的结果为:


      执行到第四次循环时,跳出第五次循环,继续向下面执行,输出的少了box=5。

      (3)with语句:将代码的作用域设置到一个特定的对象中

      先来看一般我们是怎么样输出对象的属性的值的:

[javascript] view plaincopyprint?
  1.    var box={  
  2.     name:"张三",  
  3.     age:24,  
  4.     sex:"男"  
  5.    };  
  6.    var n=box.name;  
  7.    var a=box.age;  
  8.    var s=box.sex;  
  9.    document.write(n+"<br/>");  
  10. document.write(a+"<br/>");  
  11. document.write(s);  

      运行的结果为:


      改用with语句来写:

[javascript] view plaincopyprint?
  1.   var box={  
  2.     name:"张三",  
  3.     age:24,  
  4.     sex:"男"  
  5.    };  
  6.    with(box){  
  7.      var n=name;  
  8.      var a=age;  
  9.      var s=sex;  
  10.    };  
  11. document.write(n+"<br/>");  
  12. document.write(a+"<br/>");  
  13. document.write(s);  

      运行的结果为:

转载自:http://blog.csdn.net/erlian1992/article/details/50098575


0 0
原创粉丝点击