JavaScript

   


流程控制 (Flow Control)


流程控制

一個程式未必一定要由上到下執行的, 我們可以跟據一些條件來控制一個程式執行那一個部份, 亦即是控制它的流程。

流程控制有以下幾種敘述:

  1. if
  2. if ... else
  3. for
  4. while
  5. break
  6. continue

if

語法:

if (condition) {
   statements
}

如果只有一句敘述, 就可以不用打大括號:
if (condition statement ;

  • condition 是 true 時, 就執行 statements , 否則, 跳過 if 的範圍(即是大括號範圍)。

例子: if

<script>
var num_student = 2;
if (num_student > 1) {
  document.write("There are ");
  document.write(num_student);
  document.write(" students.");
}
if (num_student == 1) {
  document.write("There is one student.");
}
</script>

if ... else

語法:

if (condition) {
   statements1
}
else {
   statements2
}

如果 if 和 else 都只有一句敘述, 就可以不用打大括號:
if (conditionstatement1 ;
else statement2 ;

  • condition 是 true 時, 就執行 statements1 , 然後跳過 else 範圍, 否則, 就執行 statements2

例子: if ... else

<script>
var num_student = 1;
if (num_student == 0) {
  document.write("There are no student");
}
else {
  document.write("There is at least one student.");
}
</script>

for

重覆執行某範圍內的敘述, 通常用於要指定執行次數的程序。

語法:

for (init_expr ; condition ; increment_expr) {
   statements
}

流程:

  1. 執行 init_expr
  2. 如果 condition 是 true, 就到第 3 步, 否則, 跳過 for 範圍
  3. 執行 statements
  4. 執行 increment_expr, 返回第 2 步

例子: 用 for 敘述顯示 1 至 10 的平方數

<script>
var i;
var sqr;
for (i=1; i<=10; i++) {
  sqr = i*i
  document.write("<br>" + i + " square = " + sqr)
}
</script>

例子說明:

  • for 迴圈內的敘述重覆執行了 10 次, 而每一次 i 的數值在執行完敘述之後都會加一。 直至 i 等於 11 , 因為 (11 <= 10) 是 false , 所以跳過 for 範圍。

while

重覆執行某範圍內的敘述, 直至條件不合。

語法:

while (condition) {
   statements
}

流程:

  1. 如果 condition 是 true, 就到第 2 步, 否則, 跳過 while 範圍
  2. 執行 statements , 返回第 1 步

例子: 用 while 敘述顯示 1 至 10 的立方數

<script>
var i = 1;
var sqr;
while (i <= 10) {
  var sqr = i*i*i;
  document.write("<br>" + i + " cube = " + sqr)
  i++;
}
</script>

break

終止一個 while 或者 for 迴圈, 跳出該個迴圈的範圍。

語法:

break;

例子: 用 break 跳出 while 迴圈

<script>
var i = 1;
var sqr;
while (i < 20) {
  var sqr = i*i*i;
  document.write("<br>" + i + " cube = " + sqr)
  i++;
  if (i > 10) {
    break;
  }
}
</script>

continue

中止 while 或者 for 迴圈某一次的程序, 然後檢查該迴圈的 condition, 決定是否繼續執行下一次。

語法:

continue;

condition 是 true 時, statements1 就會被執行, 否則, 在大括號內的範圍會被跳過, 然後繼續執行下一句。

例子: 用 continue 忽略某一次的 while 迴圈

<script>
var i = 0;
var sqr;
while (i<10) {
  i++;
  if (i == 5) {
    continue;
  }
  sqr = i*i*i
  document.write("<br>" + i + " cube = " + sqr)
}
</script>

例子說明:

  • 當 i 等於 5 並執行到 if 範圍那句 continue; 時, 就會即時返回 while (i < 10) 這句, 即是檢查 condition 是否 true。 因此沒有執行 if 範圍下面的敘述。






[到頁頂] [首頁] [速查表]