學(xué)習(xí)javascript(2)

字號(hào):


    編寫(xiě) JScript 代碼
    與其他許多編程語(yǔ)言一樣, Microsoft JScript 是用文本方式編寫(xiě)的,并被組織成為語(yǔ)句、由相關(guān)的語(yǔ)句集組成的塊、以及注釋。在一條語(yǔ)句內(nèi)可以使用變量、比如字符串和數(shù)字(稱(chēng)為“文字”)的立即數(shù)、以及表達(dá)式。
    語(yǔ)句
    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ǔ)句寫(xiě)一行,盡管一條語(yǔ)句可以超過(guò)兩行或更多行。兩條或更多條語(yǔ)句也可以寫(xiě)在同一行上,語(yǔ)句之間用分號(hào)“;”隔開(kāi)。通常,每一新行開(kāi)始一條新語(yǔ)句。不過(guò)顯式地終止語(yǔ)句是一個(gè)好方法。這是用分號(hào) (;)來(lái)實(shí)現(xiàn)的,分號(hào)是 JScript 語(yǔ)句的終止字符。下面給出 Jscript 語(yǔ)句的兩隔示例。
    aBird = "Robin"; //將文本“Robin”賦值給變量 aBird
    var today = new Date(); // 將今天的日期賦值給變量 today
    用大括號(hào)({})括起來(lái)的一組 JScript 語(yǔ)句稱(chēng)為一個(gè)語(yǔ)句塊。分組到一個(gè)語(yǔ)句塊中的語(yǔ)句通常可當(dāng)作單條語(yǔ)句處理。這就是說(shuō)在 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ǔ)句開(kāi)始定義一個(gè)函數(shù),該函數(shù)包含一個(gè)五條語(yǔ)句組成的語(yǔ)句塊。語(yǔ)句塊后的三條語(yǔ)句沒(méi)有用大括號(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ì)正斜杠(//)開(kāi)始。下面給出一個(gè)單行注釋的示例。
    aGoodIdea = "Comment your code thoroughly."; // 這是一個(gè)單行注釋。
    多行注釋以一個(gè)正斜杠加一個(gè)星號(hào)的組合(/*)開(kāi)始,并以其逆向順序 (*/)結(jié)束。
    /*
    這是一個(gè)用來(lái)解釋前面的代碼語(yǔ)句的多行注釋。
    該語(yǔ)句將一個(gè)值賦給 aGoodIdea 變量。
    用引號(hào)包含的這種值稱(chēng)為一個(gè)文字。
    文字顯式并直接包含信息;
    而不是簡(jiǎn)接地引用信息。
    (引號(hào)不屬于該文字的內(nèi)容。)
    */
    注意 如果您試圖將一個(gè)多行注釋插入到另一個(gè)中,JScript 不能按正常的方式解釋生成的多行注釋。標(biāo)明嵌入的多行注釋結(jié)束的 */ 被認(rèn)為是整個(gè)多行注釋的結(jié)尾。這就意味著嵌入多行注釋之后的文本不再被認(rèn)為是注釋?zhuān)幌鄳?yīng)地,它將被解釋為 JScript 代碼,并會(huì)產(chǎn)生語(yǔ)法錯(cuò)誤。
    建議將所有的注釋寫(xiě)為單行注釋的語(yǔ)句塊。這樣您以后就能夠?qū)⒋蠖蔚拇a與多行注釋區(qū)分開(kāi)。
    //這是另一種多行注釋?zhuān)瑢?xiě)成一系列單行注釋。
    // 在執(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 可以是:
    變量,
    數(shù)組元素,
    對(duì)象屬性。
    = 運(yùn)算符右邊的操作項(xiàng)總是一個(gè) Rvalue。Rvalues 可以是任何類(lèi)型的一個(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ì)介紹。
    表達(dá)式
    JScript 表達(dá)式是指 JScript 解釋器能夠計(jì)算生成值的 JScript “短語(yǔ)”。這個(gè)值可以是任何有效的 JScript 類(lèi)型 — 數(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 + ")";