- 摩刻部落 - https://www.moke.tw/wordpress -

JavaScript腳本語言(4)-邏輯敘述

在基礎程式設計中已經有介紹邏輯敘述的使用方式,所以本篇只有針對JavaScript的語法格式做說明。它的邏輯敘述基本上和Java是差不多的,但用法仍然略有不同。

if/else條件控制 (more) [1]
if 敘述要執行的動作如果只有一行,可以和 if 判斷式寫在同一行,或是不加分號換行:

if (條件式)
	程式敘述;

當 if 敘述要執行的動作有好幾行時,要使用大括號「{}」括起來,變成一個程式區塊(statement block):

if (條件式) {
	//程式區塊
}

else 的用法和 if 是一樣的,只不過要加在 if 下面。

if (條件式)
	程式敘述 1;
else 程式敘述 2;

else if 的語法在 JavaScript 中其實並不存在,而是把 else { if ... } 的大括號省略,變成 else if 的慣用寫法。

if (條件式 1) {
	//程式區塊 1
}
else if (條件式 2) {
	//程式區塊 2
}
else {
	//程式區塊 3
}

switch條件控制 (more) [2]
JavaScript的 switch 和 Java 的用法有點不太一樣。兩者雖然語法一樣,但是 JavaScript 的彈性比較大。

switch (變數/運算式) {
	case 常數值/運算式:
		//執行程式區塊 1
		break;
	case 常數值/運算式:
		//執行程式區塊 2
		break;
	default:
		//執行程式區塊 3
		break;
}

JavaScript的 switch 特色如下:

while迴路控制 (more) [3]
JavaScript的 while 和 Java 就沒有什麼不同。while 後面的比較運算結果為 true 時才會執行程式區塊。

while (執行條件的比較運算) {
	//程式區塊
}

先執行程式區塊再判斷是否要繼續重覆執行時,使用do...while語法。此時的程式區塊至少會執行一次。

do {
	//程式區塊
} while (執行條件的比較運算)

for迴路控制 (more) [4]
for 的語法也和 Java 相同。當 for 迴圈要指定多個變數時,使用逗號(,)分隔。

for ( 變數=初始值; 執行條件的比較運算; 變數更新算式) {
	//程式區塊
}

for/in迴路控制
這裡有個語法是 Java 裡面沒有的(但 5.0 後的Java有別種語法支持此功能),for/in 敘述可以用來讀取「陣列」或「物件」裡的內容。由於尚未講解陣列與物件的使用,所以這裡暫不提供範例教學。

for (變數 in 物件) {
	//程式區塊
	//變數 表示屬性名稱,使用 物件[變數] 來讀取值
}

break與continue終止迴圈 (more) [5]
JavaScript的 break 與 continue 觀念和 Java 是一樣的,這裡就不重覆說明了,詳情請參考「基礎程式設計(10)-強制終止迴圈 [5]」。