與其他許多編程語(yǔ)言一樣, Microsoft JScript 是用文本方式編寫的,并被組織成為語(yǔ)句、由相關(guān)的語(yǔ)句集組成的塊、以及注釋。在一條語(yǔ)句內(nèi)可以使用變量、比如字符串和數(shù)字(稱為“文字”)的立即數(shù)、以及表達(dá)式。
JScript 程序是語(yǔ)句的集合。一條 Jscript 語(yǔ)句相當(dāng)于英語(yǔ)中的一個(gè)完整句。Jscript 語(yǔ)句將表達(dá)式組合起來(lái),完成一個(gè)任務(wù)。
一條語(yǔ)句由一個(gè)或多個(gè)表達(dá)式、關(guān)鍵字或者運(yùn)算符(符號(hào))組成。典型地,一條語(yǔ)句寫一行,盡管一條語(yǔ)句可以超過兩行或更多行。兩條或更多條語(yǔ)句也可以寫在同一行上,語(yǔ)句之間用分號(hào)“;”隔開。通常,每一新行開始一條新語(yǔ)句。不過顯式地終止語(yǔ)句是一個(gè)好方法。這是用分號(hào) (;) 來(lái)實(shí)現(xiàn)的,分號(hào)是 JScript 語(yǔ)句的終止字符。下面給出 Jscript 語(yǔ)句的兩個(gè)示例。
aBird = "Robin"; // 將文本“Robin”賦值給變量 aBird var today = new Date(); // 將今天的日期賦值給變量 today
用大括號(hào)({})括起來(lái)的一組 JScript 語(yǔ)句稱為一個(gè)語(yǔ)句塊。分組到一個(gè)語(yǔ)句塊中的語(yǔ)句通?僧(dāng)作單條語(yǔ)句處理。這就是說在 JScript 期望有一條單個(gè)語(yǔ)句的大多數(shù)地方可以使用語(yǔ)句塊。應(yīng)該注意以 for 和 while 打頭的循環(huán)語(yǔ)句是例外情況。注意,語(yǔ)句塊中的原始語(yǔ)句以分號(hào)結(jié)束,但語(yǔ)句塊本身并不以分號(hào)結(jié)束。
通常,在函數(shù)和條件語(yǔ)句中使用語(yǔ)句塊。注意,Jscript 與 C++ 以及其他某些語(yǔ)言不同,它不認(rèn)為語(yǔ)句塊是一個(gè)新的范圍;只有函數(shù)創(chuàng)建新范圍。在下面的示例中,第一條語(yǔ)句開始定義一個(gè)函數(shù),該函數(shù)包含一個(gè)五條語(yǔ)句組成的語(yǔ)句塊。語(yǔ)句塊后的三條語(yǔ)句沒有用大括號(hào)括起來(lái);這些語(yǔ)句不是一個(gè)語(yǔ)句塊,所以就不是函數(shù)定義的一部分。
function convert(inches) { feet = inches / 12; // 這五條語(yǔ)句屬于一個(gè)語(yǔ)句塊。 miles = feet / 5280; nauticalMiles = feet / 6080; cm = inches * 2.54; meters = inches / 39.37; } km = meters / 1000; // 這三條語(yǔ)句不在語(yǔ)句塊內(nèi)。 kradius = km; mradius = miles;
單行的 JScript 注釋以一對(duì)正斜杠(//)開始。下面給出一個(gè)單行注釋的示例。
aGoodIdea = "Comment your code thoroughly."; // 這是一個(gè)單行注釋。
多行注釋以一個(gè)正斜杠加一個(gè)星號(hào)的組合 (/*) 開始,并以其逆向順序 (*/) 結(jié)束。
/* 這是一個(gè)用來(lái)解釋前面的代碼語(yǔ)句的多行注釋。 該語(yǔ)句將一個(gè)值賦給 aGoodIdea 變量。 用引號(hào)包含的這種值稱為一個(gè)文字。 文字顯式并直接包含信息; 而不是簡(jiǎn)接地引用信息。 (引號(hào)不屬于該文字的內(nèi)容。) */
注意 如果您試圖將一個(gè)多行注釋插入到另一個(gè)中,JScript 不能按正常的方式解釋生成的多行注釋。標(biāo)明嵌入的多行注釋結(jié)束的 */ 被認(rèn)為是整個(gè)多行注釋的結(jié)尾。這就意味著嵌入多行注釋之后的文本不再被認(rèn)為是注釋;相應(yīng)地,它將被解釋為 JScript 代碼,并會(huì)產(chǎn)生語(yǔ)法錯(cuò)誤。
建議將所有的注釋寫為單行注釋的語(yǔ)句塊。這樣您以后就能夠?qū)⒋蠖蔚拇a與多行注釋區(qū)分開。
// 這是另一種多行注釋,寫成一系列單行注釋。 // 在執(zhí)行完該語(yǔ)句后,可以使用 aGoodIdea 變量的名字來(lái)引用其內(nèi)容, // 如下一條語(yǔ)句那樣,即采用連接操作將字符串文字添加到 // aGoodIdea 變量,以創(chuàng)建一個(gè)新的變量。 var extendedIdea = aGoodIdea + " You never know when you'll have to figure out what it does.";
JScript 語(yǔ)句中使用等號(hào) (=)給變量賦值:等號(hào)是賦值運(yùn)算符。= 運(yùn)算符左邊的操作項(xiàng)總是一個(gè) Lvalue。Lvalue 可以是:
= 運(yùn)算符右邊的操作項(xiàng)總是一個(gè) Rvalue。Rvalues 可以是任何類型的一個(gè)任意值,包括表達(dá)式的值。下面給出一個(gè) JScript 賦值語(yǔ)句的示例。
anInteger = 3;
Jscript 編譯器解釋本語(yǔ)句的意義為:“將 3 賦給變量 anInteger”或“anInteger 的值為 3”。
確定您理解了 = 運(yùn)算符(賦值)和 == 運(yùn)算符(相等)的差異。在比較兩個(gè)值是否相等時(shí),應(yīng)使用兩個(gè)等于號(hào) (==)。這些內(nèi)容將在控制程序的流程中詳細(xì)介紹。
JScript 表達(dá)式是指 JScript 解釋器能夠計(jì)算生成值的 JScript “短語(yǔ)”。這個(gè)值可以是任何有效的 JScript 類型 數(shù)字、字符串、對(duì)象,等等。最簡(jiǎn)單的表達(dá)式是文字。下面給出 JScript 文字表達(dá)式的一些示例。
3.9 // 數(shù)字文字 "Hello!" // 字符串文字 false // 布爾文字 null // 文字空值 {x:1, y:2} // 對(duì)象文字 [1,2,3] // 數(shù)組文字 function(x){return x*x;} // 函數(shù)文字
更多復(fù)雜的表達(dá)式中包含變量、函數(shù)、函數(shù)調(diào)用以及其他表達(dá)式?梢杂眠\(yùn)算符將表達(dá)式組合,創(chuàng)建復(fù)合表達(dá)式。運(yùn)算符可以是:
+ // 加法 - // 減法 * // 乘法 / // 除法
下面給出 JScript 復(fù)合表達(dá)式的一些示例。
var anExpression = 3 * (4 / 5) + 6; var aSecondExpression = Math.PI * radius * radius; var aThirdExpression = aSecondExpression + "%" + anExpression; var aFourthExpression = "(" + aSecondExpression + ") % (" + anExpression + ")";