JavaScript學習筆記 - 進階篇(3)- 流程控制語句

weixin_34320159發表於2016-03-22

if語句

if語句是基於條件成立才執行相應程式碼時使用的語句。

語法:

if(條件)
{ 條件成立時執行程式碼}

注意:if小寫,大寫字母(IF)會出錯!

假設你應聘web前端技術開發崗位,如果你會HTML技術,你面試成功,歡迎加入公司。程式碼表示如下:

<script type="text/javascript">
  var mycarrer = "HTML";
  if (mycarrer == "HTML")
  {
    document.write("你面試成功,歡迎加入公司。");
  }
</script>

if...else語句

if...else語句是在指定的條件成立時執行程式碼,在條件不成立時執行else後的程式碼。

語法:

if(條件)
{ 條件成立時執行的程式碼}
else
{條件不成立時執行的程式碼}

假設你應聘web前端技術開發崗位,如果你會HTML技術,你面試成功,歡迎加入公司,否則你面試不成功,不能加入公司。

程式碼表示如下:

<script type="text/javascript">
  var mycarrer = "HTML"; //mycarrer變數儲存技能
  if (mycarrer == "HTML")
    { document.write("你面試成功,歡迎加入公司。");  }
  else  //否則,技能不是HTML
    { document.write("你面試不成功,不能加入公司。");}
</script>

if..else巢狀語句

要在多組語句中選擇一組來執行,使用if..else巢狀語句。

語法:

if(條件1)
{ 條件1成立時執行的程式碼}
else  if(條件2)
{ 條件2成立時執行的程式碼}
...
else  if(條件n)
{ 條件n成立時執行的程式碼}
else
{ 條件1、2至n不成立時執行的程式碼}

假設數學考試,小明考了86分,給他做個評價,60分以下的不及格,60(包含60分)-75分為良好,75(包含75分)-85分為很好,85(包含75分)-100優秀。

程式碼表示如下:


結果:

Switch語句

當有很多種選項的時候,switch比if else使用更方便。

語法:

switch(表示式)
{
case值1:
  執行程式碼塊 1
  break;
case值2:
  執行程式碼塊 2
  break;
...
case值n:
  執行程式碼塊 n
  break;
default:
  與 case值1 、 case值2...case值n 不同時執行的程式碼
}

語法說明:

Switch必須賦初始值,值與每個case值匹配。滿足執行該 case 後的所有語句,並用break語句來阻止執行下一個case。如所有case值都不匹配,執行default後的語句。

假設評價學生的考試成績,10分滿分制,我們按照每一分一個等級將成績分等,並根據成績的等級做出不同的評價。

程式碼如下:

執行結果:

評語: 及格,加油!

注意:記得在case所執行的語句後新增上一個break語句。否則就直接繼續執行下面的case中的語句,看以下程式碼:

執行結果:

評語: 繼續努力!
評語: 及格,加油!
評語: 湊合,奮進
評語: 很棒,很棒
評語: 高手,大牛

在上面的程式碼中,沒有break停止語句,如果成績是4分,則case 5後面的語句將會得到執行,同樣,case6、7-10後面的語句都會得到執行。

for迴圈

很多事情不只是做一次,要重複做。如列印10份試卷,每次列印一份,重複這個動作,直到列印完成。這些事情,我們使用迴圈語句來完成,迴圈語句,就是重複執行一段程式碼。

for語句結構:

for(初始化變數;迴圈條件;迴圈迭代)
{     
    迴圈語句 
 }

假如,一個盒子裡有6個球,我們每次取一個,重複從盒中取出球,直到球取完為止。

<script type="text/javascript">
var num=1;
for (num=1;num<=6;num++)  //初始化值;迴圈條件;迴圈後條件值更新
{   document.write("取出第"+num+"個球<br />");
}
</script>

結果:

執行思路:

while迴圈

和for迴圈有相同功能的還有while迴圈, while迴圈重複執行一段程式碼,直到某個條件不再滿足。

while語句結構:

while(判斷條件)
{
    迴圈語句
 }

使用while迴圈,完成從盒子裡取球的動作,每次取一個,共6個球。

<script type="text/javascript">
var num=0;  //初始化值
while (num<=6)   //條件判斷
{
  document.write("取出第"+num+"個球<br />");
  num=num+1;  //條件值更新
}
</script>

Do...while迴圈

do while結構的基本原理和while結構是基本相同的,但是它保證迴圈體至少被執行一次。因為它是先執行程式碼,後判斷條件,如果條件為真,繼續迴圈。

do...while語句結構:

do
{
    迴圈語句
 }
while(判斷條件)

我們試著輸出5個數字。

<script type="text/javascript">
   num= 1;
   do
   {
     document.write("數值為:" +  num+"<br />");
     num++; //更新條件
   }
   while (num<=5)
</script>

執行結果:

為什麼呢?我們來看下執行思路:

退出迴圈break

在while、for、do...while、while迴圈中使用break語句退出當前迴圈,直接執行後面的程式碼。

格式如下:

for(初始條件;判斷條件;迴圈後條件值更新)
{
  if(特殊情況)
  {break;}
  迴圈程式碼
}

當遇到特殊情況的時候,迴圈就會立即結束。看看下面的例子,輸出10個數,如果數值為5,就停止輸出。

執行結果:

注:當num=5的時候迴圈就會結束,不會輸出後面迴圈的內容。

繼續迴圈continue

continue的作用是僅僅跳過本次迴圈,而整個迴圈體繼續執行。

語句結構:

for(初始條件;判斷條件;迴圈後條件值更新)
{
  if(特殊情況)
  { continue; }
 迴圈程式碼
}

上面的迴圈中,當特殊情況發生的時候,本次迴圈將被跳過,而後續的迴圈則不會受到影響。好比輸出10個數字,如果數字為5就不輸出了。

執行結果:

:上面的程式碼中,num=5的那次迴圈將被跳過。


我的公眾號二維碼

相關文章