JScript 陳述式
JScript 程式是陳述式的集合, JScript 陳述式相當於自然語言中的完整句子,可以結合能夠執行一個完整工作的運算式。
使用陳述式
陳述式是由一或多個運算式、關鍵字或運算子 (符號) 所組成。 一般而言,一行包含一個陳述列,不過,兩個或多個陳述式也可以出現在同一行中,只要以分號分隔即可。 此外,大部分陳述式都可跨越數行。 以下狀況則屬例外:
後置的遞增和遞減運算子必須出現在其引數所在的同一行中。 例如,x++ 和 i--。
continue 和 break 這兩個關鍵字必須出現在其標籤所在的同一行中。 例如,continue label1 和 break label2。
return 和 throw 這兩個關鍵字必須出現在其運算式所在的同一行中。 例如,return (x+y) 和 throw "Error 42"。
自訂屬性 (Attribute) 必須出現在它所修飾的宣告的同一行中,除非這個自訂屬性有前置修飾詞。 例如 myattribute class myClass。
雖然不需要在行尾明確終止陳述式,但是此處提供的大部分 JScript 範例為避免困擾,都有明確終止。 您可利用分號 (;) 來完成此動作,而分號就是 JScript 陳述式的終止 (Termination) 字元。 以下是 JScript 陳述式的兩個範例。
var aBird = "Robin"; // Assign the text "Robin" to the variable aBird.
var today = new Date(); // Assign today's date to the variable today.
以括號 {} 圍繞的 JScript 陳述式群組稱為一個區塊。 一個區塊內的陳述式,通常被視為單一陳述式。 這表示在 JScript 預期使用單獨陳述式的大多數地方,都可以使用區塊。 明顯的例外包括了 for 和 while 迴圈的標頭。 以下為標準 for 迴圈的範例。
var i : int = 0;
var x : double = 2;
var a = new Array(4);
for (i = 0; i < 4; i++) {
x *= x;
a[i] = x;
}
請注意區塊內的個別陳述式是以分號結束,但是區塊本身並非如此。
通常函式、條件式和類別,都使用區塊。 請注意,JScript 與 C++ 和大部分的其他語言不同,不會將區塊視為新範圍 (Scope);只有函式、類別、靜態初始設定式和 Catch 區塊會建立新範圍。
在以下範例中,第一個陳述式一開始即進行函式的定義,其中包含三個陳述式的 if...else 序列。 後續的區塊是一個陳述式,它並沒有括在函式區塊的大括號中。 因此,最後一個陳述式不屬於函式定義。
function FeetToMiles(feet, cnvType) {
if (cnvType == "NM")
return( (feet / 6080) + " nautical miles");
else if (cnvType == "M")
return( (feet / 5280) + " statute miles");
else
return ("Invalid unit of measure");
}
var mradius = FeetToMiles(52800, "M");